如何在android中只播放音频文件的某些部分?

时间:2013-09-18 12:07:54

标签: android android-mediaplayer

MediaPlayer类的seekTo有助于修复起点。如何设定终点? MediaPlayer类中似乎没有任何方法可用。例如,我想只播放10秒总媒体的3到6秒的部分。我确实看到了设置睡眠定时器和中断MediaPlayer的解决方案。还有其他更好的解决方案吗?

2 个答案:

答案 0 :(得分:0)

可以使用睡眠定时器,但是使用单独的线程可能更容易。这样您就不必担心UI线程正在做什么,或者中断它。

只需在线程循环中使用getCurrentPosition()即可监控播放时间。当它到达目标“结束”时间时,只需stop()它。在线程中添加睡眠延迟也是一个好主意。你不需要像循环一样快地检查它,也许每秒5-10次应该没问题。

答案 1 :(得分:0)

如果您找不到答案,可以尝试使用打开html5-JS网站的webview解决方案。

这是一个不完整的快速示例。 (使用jsfiddle代码)

http://jsfiddle.net/mNPCP/5/

<audio id="audio2" 
   preload="auto" 
   src="http://upload.wikimedia.org/wikipedia/commons/a/a9/Tromboon-sample.ogg" >

   <p>Your browser does not support the audio element</p>
</audio>

<script>
  myAudio=document.getElementById('audio2');
  myAudio.addEventListener('canplaythrough', function() {
    this.currentTime = 12;
    this.play();
  });
</script>

From this Stackoverflow question

这不是最好的解决方案,但可能对某些事情有帮助。

祝你好运!