MPMediaItems premières données de morceau
Je me demandais comment faire pour accéder à un MPMediaItem de données brutes.
Des idées?
- comment obtenir nsdata de mp3 à l'aide de MPMedia
Vous devez vous connecter pour publier un commentaire.
Je me demandais comment faire pour accéder à un MPMediaItem de données brutes.
Des idées?
Vous devez vous connecter pour publier un commentaire.
vous pouvez obtenir les médias de l'élément de données dans une telle manière:
Ce code ne fonctionne que sur ios 4.0 et versions ultérieures
Bonne chance!
Invalid output file type
lors de l'utilisation deAVAssetExportPresetAppleM4A
toute solution?Bien sûr, vous pouvez accéder aux données d'un
MPMediaItem
. Ce n'est pas limpide à la fois, mais il fonctionne. Voici comment:MPMediaItemPropertyAssetURL
propriétéAVURLAsset
avec cette URLAVAssetReader
avec cet atoutAVAssetTrack
vous voulez lire de laAVURLAsset
AVAssetReaderTrackOutput
avec cette pisteAVAssetReader
créé avant et-startReading
AVAssetReaderTrackOutput
's-copyNextSampleBuffer
Voici un exemple de code à partir d'un projet de mine (ce n'est pas un code joyau de la mine, il a écrit il y a quelque temps dans mon codage âge des ténèbres):
Vous ne pouvez pas, et il n'existe aucune solution de contournement. Un MPMediaItem n'est pas le média, c'est juste les métadonnées sur l'élément de média communiquées à l'application via RPC à partir d'un autre processus. Les données de l'élément lui-même n'est pas accessible dans votre espace d'adressage.
Il est à noter que même si vous avez le MPMediaItem ses données n'est probablement pas chargé dans les dispositifs de mémoire. Le flash sur l'iPhone est lent et la mémoire est rare. Alors que Apple ne peut pas vous voulez avoir accès aux données brutes de la sauvegarde d'un MPMediaItem, il est tout aussi probable qu'ils n'ont pas pris la peine de le traiter, car ils ne voulaient pas investir le temps nécessaire pour traiter avec l'Api. Si elles ne donnent accès à une telle chose, il serait presque certainement pas comme un NSData, mais il est plus probable qu'une NSURL ils donnent à votre application qui permettrait d'ouvrir le fichier et de flux à travers les données.
Dans tous les cas, si vous voulez la fonctionnalité, vous devez fichier un rapport de bug pas de demander.
Aussi, comme une note de côté, de ne pas mentionner votre âge dans un rapport de bogue vous envoyer à Apple. Je pense que c'est très cool de vous écrire des applications pour le téléphone, quand j'avais votre âge, j'ai aimé expérimenter avec des ordinateurs (à l'époque, je travaillais sur ce qui est écrit en Lisp). La chose est que vous ne pouvez pas légalement consentir à un contrat aux États-unis, c'est pourquoi l'accord de développeur vous interdit expressément de les joindre. Dans le premier paragraphe de l' accord:
Si vous parlez à un RAPPORT représentant que vous n'êtes pas de l'âge de la majorité, ils peuvent réaliser que vous êtes en violation de l'accord et d'être obligé de mettre fin à votre compte de développeur. Juste un avertissement amical.