播放特定时间的音频文件

Posted

技术标签:

【中文标题】播放特定时间的音频文件【英文标题】:Playing audio file for specific time 【发布时间】:2012-03-14 04:36:28 【问题描述】:

伙计们,我可以使用 Mediaplayer 播放音频文件。但我需要在特定时间播放音频文件。

例如:将 audio1.mp3 播放到 5 分钟。 音频文件只有 10 秒。但它应该一直播放到 5 分钟。

【问题讨论】:

【参考方案1】:

试试这个

 mediaplayerplayer.setLooping(true);<--- this lets the audio to loop...

这是倒计时

MyCount counter;
Long s1;

counter= new MyCount(300000,1000);
counter.start();

public void asdf(View v)  <---- method for onclick of buttons pause and resuming timer
    switch(v.getId())
        case R.id.button1:<-- for pause
            counter.cancel();
            break;
        case R.id.button2:<--- for resume
            counter= new MyCount(s1,1000);
            counter.start();
    


public class MyCount extends CountDownTimer 
    public MyCount(long millisInFuture, long countDownInterval) 
        super(millisInFuture, countDownInterval);
    

    @Override
    public void onFinish() 
        mediaplayer.stop();
        mediaplayer.release();
    

    @Override
    public void onTick(long millisUntilFinished) 
        s1=millisUntilFinished;
    

这还可以帮助您暂停媒体播放器...以及计时器...并让您将歌曲播放完整 5 分钟

【讨论】:

counter= new MyCount(300000,1000);计数器.start();这是什么,请解释一下 这是 60(秒)*5(分钟)*1000 .. 因为该值必须以毫秒为单位...计数器从该值开始到 1 秒...倒计时计时器..从 5 分钟.. 但是我要从哪里开始 mediaplayer.start(); 你有你的 mediaplyer,start();在你的代码中......所以把“counter = new MyCount(300000,1000); counter.start();”..在那一行之后...... setContentView(R.layout.main);mediaplyer,start();counter= new MyCount(300000,1000);计数器.start();好吗【参考方案2】:
   //decleration 
MediaPlayer mp;
//specify the path of media file
String filepath="?";

//onCreate
  mp=new MediaPlayer();
Uri myUri = Uri.parse(filepath);

               mp.setLooping(true);   
           mp = MediaPlayer.create(ActivityName.this, myUri);
           mp.start(); 
 new CountDownTimer(300000,1000) 

            @Override
            public void onTick(long millisUntilFinished) 
                // TODO Auto-generated method stub

            

            @Override
            public void onFinish() 
                // TODO Auto-generated method stub
if(mp.isPlaying())
            
                mp.stop();
            

            
        .start();

【讨论】:

以上是关于播放特定时间的音频文件的主要内容,如果未能解决你的问题,请参考以下文章

iOS 在特定时间停止音频播放(AVAudioPlayer 结束时间)

在特定时间播放音频文件的 JavaScript 程序似乎不起作用

如何在 Cocos2d 中播放音频文件的特定部分

AVFoundation 如何循环播放一段特定时间的音频?

OpenAL 从特定时间戳播放音频

根据滚动位置播放不同的音频文件