我試過MediaPlayer,ExoPlayer,SoundPool。當循環15秒長的音頻文件時,它們都有差距。有沒有解決方案或庫?有沒有用於無間隙音頻循環的庫?
1
A
回答
0
Exoplayer2的新版本支持無間斷音頻,讀取來自id3頭文件的所有信息。 您只需創建一個包含所有曲目的ConcatenatingMediaSource,並且如果它們將無間隙信息包含在標題中,則播放器將自動將它們組合在一起。
使用Exoplayer2演示:
String[] uriStrings = new String[]{
Environment.getExternalStorageDirectory()+"/Music/gapless/temp1.mp3",
Environment.getExternalStorageDirectory()+"/Music/gapless/temp2.mp3"
};
uris = new Uri[uriStrings.length];
for (int i = 0; i < uriStrings.length; i++) {
uris[i] = Uri.parse(uriStrings[i]);
}
MediaSource[] mediaSources = new MediaSource[uris.length];
for (int i = 0; i < uris.length; i++) {
mediaSources[i] = buildMediaSource(uris[i], extensions[i]);
}
MediaSource mediaSource = new ConcatenatingMediaSource(mediaSources);
player.prepare(mediaSource, !shouldRestorePosition);
還有一些LoopingMediaSource管理MediaSources的循環。 您可以將所有媒體源組合在樹中。
所有這一切的唯一問題是您在準備中給玩家的MediaSource結構是靜態的。
0
您可以使用LoopingMediaSource作爲源代替。
MediaSource source = new ExtractorMediaSource(videoUri, ...);
// Loops the video indefinitely.
LoopingMediaSource loopingSource = new LoopingMediaSource(source);
編號:https://google.github.io/ExoPlayer/guide.html#seamlessly-looping-a-video
相關問題
- 1. 哪些音頻類型可以在iOS中無間隙地循環播放?
- 2. 無縫循環音頻html5
- 3. Android無縫音頻循環
- 4. Python音頻庫,用於快速,無縫循環的很多短音軌
- 5. 如何在Android中無間隙地循環播放聲音?
- 6. 如何在www網站無間隙地循環聲音
- 7. 音頻循環Processing.org(Java/Minim聲音庫)
- 8. 具有平滑循環的C#音頻庫?
- 9. 循環音頻在沒有緩存的SoundManager中
- 10. 聲音循環所有的時間
- 11. 循環Java音頻
- 12. HTML5音頻循環
- 13. Javascript音頻循環
- 14. Chrome瀏覽器中的HTML5視頻(HD)無法循環無間隙
- 15. HTML 5音頻元素Rails中沒有循環
- 16. Android MediaPlayer無間隙視頻
- 17. 有沒有自循環的無向圖?
- 18. Pygame - 音樂沒有正確循環
- 19. WP7使用mediaElement MediaPlayer無間隙音樂
- 20. Flowplayer無法靜音或循環視頻
- 21. Android的音頻循環
- 22. 音頻的循環次數
- 23. 使用LINQ組號碼沒有間隙
- 24. 有間隙
- 25. ListView模板之間沒有間隙
- 26. UISegmentedControl按鈕之間沒有間隙
- 27. 沒有循環
- 28. ffmpeg - 如果信號源沒有音頻或音頻短於源視頻,則輸出無聲音頻軌道
- 29. Inno Setup:使用BASS音頻庫的所有功能和標誌循環播放音頻文件
- 30. SpriteKit滾動底部在循環時有間隙
你試試這個mediaPlayer.setLooping(真); ?? –
當然。但兩場比賽之間差距很小。我需要無縫循環。 –
試試這個http://stackoverflow.com/a/13410499/5545429 –