调用另一个活动时,媒体播放器拿完出场 [英] Calling another activity when mediaplayer get finished playing

查看:100
本文介绍了调用另一个活动时,媒体播放器拿完出场的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我用下面的code调用一个活动时,音频播放拿完。但我想发挥当前活动的声音,当比赛拿完它要跳到下一个活动。但在这里它跳转到下一个活动,并播放音频。任何建议。

 包com.fsp.mus;

进口的java.io.File;
进口java.io.IOException异常;

进口android.app.Activity;
进口android.app.AlertDialog;
进口android.content.Context;
进口android.content.DialogInterface;
进口android.content.Intent;
进口android.media.MediaPlayer;
进口android.os.Bundle;
进口android.os.Environment;
进口android.util.Log;
进口android.view.Gravity;
进口android.widget.Toast;

公共类MyRecording延伸活动{
    字符串mFileName;
     MediaPlayer的MPLAYER;
     布尔stopplay;
    @覆盖

    公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.myrecording);

        mFileName = Environment.getExternalStorageDirectory()getAbsolutePath()。
        mFileName + =/audiorecordtest.3gp;
        MPLAYER =新的MediaPlayer();

         尝试 {

            mPlayer.setDataSource(mFileName);
        }赶上(抛出:IllegalArgumentException E1){
            // TODO自动生成的catch块
            e1.printStackTrace();
        }赶上(IllegalStateException异常E1){
            // TODO自动生成的catch块
            e1.printStackTrace();
        }赶上(IOException异常E1){
            // TODO自动生成的catch块
            e1.printStackTrace();
        }
          尝试 {
            MPLAYER prepare()。
        }赶上(IllegalStateException异常E1){
            // TODO自动生成的catch块
            e1.printStackTrace();
        }赶上(IOException异常E1){
            // TODO自动生成的catch块
            e1.printStackTrace();
        }
        mPlayer.start();
       如果(mPlayer.getCurrentPosition()== mPlayer.getDuration())
       {
           意图stopplay =新的意图(MyRecording.this,Recorded_Message.class);
            startActivity(stopplay);
       }

    }
}
 

解决方案

  mPlayer.setOnCompletionListener(新
    OnCompletionListener(){
        @覆盖
        公共无效onCompletion(MediaPlayer的为arg0){
        意图stopplay =新的意图(MyRecording.this,Recorded_Message.class);
        startActivity(stopplay);
    }
});
 

Hi I used the following code to call an activity when audio play get finished. But I want to play the audio in current activity, when play get finished it has to jump for the next activity. But here it jumps to the next activity and play the audio. Any suggestions.

package com.fsp.mus;

import java.io.File;
import java.io.IOException;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.Gravity;
import android.widget.Toast;

public class MyRecording extends Activity{
    String mFileName;
     MediaPlayer mPlayer; 
     Boolean stopplay;
    @Override

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.myrecording);

        mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();
        mFileName += "/audiorecordtest.3gp";
        mPlayer = new MediaPlayer(); 

         try {

            mPlayer.setDataSource(mFileName);
        } catch (IllegalArgumentException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IllegalStateException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
          try {
            mPlayer.prepare();
        } catch (IllegalStateException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        mPlayer.start();    
       if(mPlayer.getCurrentPosition()== mPlayer.getDuration())
       {
           Intent stopplay=new Intent(MyRecording.this,Recorded_Message.class);
            startActivity(stopplay); 
       }

    }
}

解决方案

mPlayer.setOnCompletionListener(new
    OnCompletionListener() {        
        @Override
        public void onCompletion(MediaPlayer arg0) {
        Intent stopplay= new Intent(MyRecording.this,Recorded_Message.class);
        startActivity(stopplay);                
    }
});

这篇关于调用另一个活动时,媒体播放器拿完出场的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆