簡體   English   中英

使用Android Media Player播放更改的文件

[英]Playing a changing file using android media player

反正有使用Android Media Player播放動態添加到的文件嗎?

我嘗試使用RandomAccessFile:

public static RandomAccessFile tempMp3;
tempMp3 = new RandomAccessFile(Environment.getExternalStorageDirectory()+"/ggg", "rw");
StaticData.tempMp3.setLength(file_size);
StaticData.tempMp3.seek(0);

//這里我調用自動更新功能,在寫入X字節后,我調用playMediaPlayer

StaticData.mediaPlayer.setDataSource(StaticData.tempMp3.getFD());
StaticData.mediaPlayer.prepare();
StaticData.mediaPlayer.start();

所以基本上我是在同時更新和播放。 問題在於MediaPlayer和我的Update函數都正在訪問和移動文件指針,這弄亂了MediaPlayer。

有什么解決方法嗎? 我可以使用單獨的文件指針嗎?

解決了這個。

Java NIO可以解救。 使用內存映射的IO,我們可以在不干擾文件指針的情況下寫入文件,因此android媒體播放器很高興。 這是一個有用的鏈接 訣竅是設置MappedByteBuffer的大小=音樂文件的大小。 如果還沒有寫入緩沖區,我們還需要確保媒體播放器暫停。 這可以通過監視文件指針來實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM