J'ai une application utilisant MediaPlayer qui fonctionne bien lorsque je diffuse des fichiers MP3 à téléchargement progressif. J'ai essayé d'utiliser cette même application pour télécharger des fichiers AAC de téléchargement de progrès. Et il joue bien les fichiers. Ce qui ne fonctionne pas, c'est quand j'essaie de passer dans le flux en utilisant MediaPlayer.seekTo() avec AAC. Cela fonctionne à nouveau bien en mp3. Pour le flux AAC, il redémarre simplement en jouant à zéro.Comment rendre AAC accessible via le flux http à l'aide d'Android MediaPlayer?
Mon sentiment est que le codage est lié. Ce fichier AAC n'a pas été configuré correctement pour diffuser.
est ici la sortie de l'outil MediaInfo:
Size: 2.3 MB
Format: QuickTime/MPEG-4/Motion JPEG 2000 format
Stream count: 2
Duration: 00:05:02
Bit rate: 64 kb/s
Meta info:
album_artist: Red Hot Chili Peppers
album: The Getaway
minor_version: 512
encoder: Lavf57.41.100
title: Dark Necessities
major_brand: M4V
track: 2
disc: 1
compatible_brands: isomiso2avc1
artist: Red Hot Chili Peppers
copyright: 2016 Warner Bros. Records Inc.
genre: Alternative
Stream 0
Type: video
Codec: h264
Codec profile: High 10
FourCC: avc1
Duration: 00:00:00
Width: 350
Height: 350
Sample aspect ratio: 1:1
Display aspect ratio: 1:1
Pixel format: yuv420p10le
Frame rate: 90000 fps
Meta info:
handler_name: VideoHandler
language: und
Stream 1
Type: audio
Codec: aac
FourCC: mp4a
Duration: 00:05:02
Bit rate: 64 kb/s
Sample rate: 44100 Hz
Sample format: s16
Channel: 2
Meta info:
handler_name: SoundHandler
language: und
Vous remarquerez qu'il est vraiment un fichier vidéo avec audio AAC et aucune vidéo réelle inclus. Si tel est le cas, je me suis dit qu'il a besoin de plus de métadonnées pour savoir où jouer quand je demande une partie du flux qui peut ou ne peut pas être chargé. De plus, les vidéos ont besoin d'images clés pour savoir où jouer. Je pense donc qu'aucune image clé ou case d'indication n'est incluse dans le flux/fichier.
Je n'ai pas eu de chance de trouver de vrais détails sur ce qui manque ou si c'est possible ou non. J'ai testé cela sur d'autres versions et il semble qu'avant 5.0.2 cela a fonctionné. Après 5.0.2 cela ne fonctionne pas. Je n'ai trouvé aucun détail sur ce qui a changé dans cette version. Cela peut être soit un problème de codage de flux qui ne nous permet pas de diffuser ce fichier sur un flux http (s) à téléchargement progressif. Ou, il pourrait être un bug dans Android Media Player créé autour de la période de temps 5.0.2. Ou ça pourrait être les deux.
Pourquoi cela ne fonctionne-t-il pas?
MP3 fonctionne parce que vous obtenez des cadres MP3 (chacun est quelques millisecs de son), donc vous n'avez qu'à passer les images à chercher. AAC est également des cadres (si vous ne mettez pas à l'intérieur du conteneur). Je ne suis pas très familier avec Android SDK mais je suis sûr que vous pouvez envoyer des octets d'images au décodeur SDK. Je vais étudier quelques options. –
Je recevais des messages mitigés sur le support d'ADTS dans le lecteur d'Android, donc je ne suis pas sûr que ça marche ou pas. J'ai hâte d'entendre ce que vous avez découvert. – chubbsondubs
Avez-vous un exemple de lien de flux pour vérification? –