![](/img/trans.png)
[英]Android MediaPlayer, How to play video with no audio and not interrupt other audio streams
[英]how to use Android MediaPlayer to play audio data by chunks of bytes
我是音頻格式的新手。
我正在嘗試在設備 A 上播放音頻數據,因為我從設備 B 接收到它,一個塊一個塊。 問題是簡單地逐塊播放不會產生任何聲音。 如果我組合所有塊然后播放,它工作正常。 但是我想讓應用程序播放實時數據,這意味着我想在收到它的那一刻播放部分音頻數據,即使完整的音頻文件尚未發送。 我想塊必須采用某種格式才能播放。
我在網上搜索並了解到只要每個塊都有一個標題,就可以分塊播放 MPEG_4。 我想知道是否可以手動為每個塊添加一個標題。
我嘗試記錄多個樣本,並注意到它們在開頭都有共同的字節,如下所示:
0000 0018 6674 7970 6d70 3432 0000 0000
6973 6f6d 6d70 3432 0000 ....the rest..
這些公共字節是頭嗎?我想知道設備A是否可以通過某種方式判斷某個塊是否可以播放,以便我一收到它就可以播放該塊?
關於這個問題的任何想法都會有所幫助! 提前致謝!
我想自己回答這個問題。
首先,不要堅持使用 MediaPlayer,因為它不能錄制 PCM 文件。
實際上,PCM 文件滿足所有要求,因為它應用原始文件格式(意味着它沒有被壓縮)。 可以逐幀播放PCM文件。 一旦在記錄器和播放器中定義了采樣率和其他參數,幀的大小(例如 640 字節)就固定了。
還要檢查AudioRecord
和AudioTrack
類,因為它可以記錄和播放 PCM 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.