如何恢复我的Andr​​oid的声音? [英] how to resume my audio in Android?

查看:156
本文介绍了如何恢复我的Andr​​oid的声音?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要实现应用程序与暂停的状态,制作音频和恢复,当我的应用程序作为一个时候开始音频是开始,当我在模拟器上preSS后退按钮音频音乐是暂停状态但是当我的活动回来前景从停止状态没有恢复我的音乐的音乐。这里是我的code。

 公共类Audio_Activity扩展活动
{
    私人MediaPlayer的熔点;
    按钮btnStartStop;
    按钮btnChapter;
    按钮btnOne;
    按钮btnTwo;
    按钮btnThree;
    按钮btnFour;
    按钮btnFive;
    INT长;
    ImageView的imgVw;
    公共无效的onCreate(捆绑savedInstanceState)
    {
        super.onCreate(savedInstanceState);        的setContentView(R.layout.audio);
        在里面();        MP = MediaPlayer.create(Audio_Activity.this,R.raw.ennamo_yadho);
        Log.e(在Mediya播放器,播放乐曲);        如果(熔点!= NULL)
        {
                mp.setLooping(假);
                mp.start();
                btnChapter.setEnabled(假);
                的System.out.println(B4按钮单击!!!!);
        }        mp.setOnCompletionListener(新MediaPlayer.OnCompletionListener()
        {
            @覆盖
            公共无效onCompletion(MediaPlayer的MP)
            {
                mp.stop();
                mp.release();
                btnChapter.setEnabled(真);
                的System.out.println(音乐是在和按钮使!!!!!!);
            }
        });
        btnStartStop.setOnClickListener(新OnClickListener()
        {
            @覆盖
            公共无效的onClick(查看arg0中)
            {
                如果(mp.isPlaying())
                {
                    如果(熔点!= NULL)
                    {
                            mp.pause();
                    }                }                其他
                {
                    //简历歌
                    如果(熔点!= NULL)
                    {
                            mp.start();
                    }
                }
            }
        });
        btnOne.setOnClickListener(新OnClickListener()
        {
            @覆盖
            公共无效的onClick(视图v)
            {
                imgVw.setImageResource(R.raw.chocklate);
                }
            }
        );        btnTwo.setOnClickListener(新OnClickListener(){            @覆盖
            公共无效的onClick(视图v){
                imgVw.setImageResource(R.raw.creame);
            }
        });        btnThree.setOnClickListener(新OnClickListener(){            @覆盖
            公共无效的onClick(视图v){
                imgVw.setImageResource(R.raw.schocklate);            }
        });        btnFour.setOnClickListener(新OnClickListener(){            @覆盖
            公共无效的onClick(视图v){
                imgVw.setImageResource(R.raw.pinapple);            }
        });        btnFive.setOnClickListener(新OnClickListener(){            @覆盖
            公共无效的onClick(视图v){
                imgVw.setImageResource(R.raw.strobery);            }
        });
    }     @覆盖
        保护无效onResume()
        {
            super.onResume();
            的System.out.println(活动是恢复!!!);
        }    @覆盖
    保护无效调用onStart()
    {
        super.onStart();
        的System.out.println(活动已启动!!!);
    }
     @覆盖
        保护无效onRestart(){
            super.onRestart();
            的System.out.println(活动是重新开始!);
            如果(mp.isPlaying())
            {
                如果(熔点!= NULL)
                {
                    长度= mp.getCurrentPosition();
                    mp.seekTo(长);
                    mp.start();
                }
            }        }        @覆盖
        保护无效的onPause(){
            super.onPause();
            的System.out.println(活动是暂停!);
        }        @覆盖
        保护无效的onStop(){
            super.onStop();
            的System.out.println(活动是停止!!!);
        }        @覆盖
        保护无效的onDestroy(){
            super.onDestroy();
            的System.out.println(activity被销毁!);
        }
    @覆盖
    公共布尔的onkeydown(INT键code,KeyEvent的事件)
    {
        如果((键code == KeyEvent.KEY code_BACK))
        {//返回键pressed
           //要做的事
            如果(熔点!= NULL)
            {
                如果(mp.isPlaying())
                {
                    mp.pause();
                    // MP = NULL;
                }
            }
            完();
            返回true;
        }
        返回super.onKeyDown(键code,事件);
    }}


解决方案

您应该使用Android MediaPlaybackService后台播放,暂停,停止或通过单击通知打开活动。当点击后退按钮,将一个绑定的PendingIntent与用于控制音频播放的通知栏上的按钮单击事件或按钮。

使用该 吉斯特code 作为AudioPlayer,尝试Ø使用<一个href=\"https://android.googlesource.com/platform/packages/apps/Music/+/master/src/com/android/music/MediaPlaybackService.java\"相对=nofollow> MediaPlaybackService 类或尝试反向工程本<一个href=\"https://github.com/owncloud/android/blob/master/src/com/owncloud/android/media/MediaService.java\"相对=nofollow> owncloud code。

I have to implemented application for creating audio with the status of pause and resume and when my app as an when start the audio is start and when I press the back button on the emulator the audio music is on pause state but When my activity comes back to the foreground from the stopped state my audio music is not resumed. Here is my code.

public class Audio_Activity extends Activity 
{
    private  MediaPlayer mp;
    Button btnStartStop ;
    Button btnChapter ;
    Button btnOne;
    Button btnTwo;
    Button btnThree;
    Button btnFour;
    Button btnFive;
    int length;


    ImageView imgVw;
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.audio);
        init();

        mp=MediaPlayer.create(Audio_Activity.this,R.raw.ennamo_yadho);
        Log.e("Song is playing","in  Mediya Player ");

        if(mp!=null)
        {
                mp.setLooping(false);
                mp.start();
                btnChapter.setEnabled(false);
                System.out.println("B4 button Click!!!!");
        }

        mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() 
        {
            @Override
            public void onCompletion(MediaPlayer mp) 
            {
                mp.stop();
                mp.release();
                btnChapter.setEnabled(true);
                System.out.println("Music is over and Button is enable !!!!!!");
            }
        });


        btnStartStop.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View arg0) 
            {
                if(mp.isPlaying())
                {
                    if(mp!=null)
                    {
                            mp.pause();
                    }

                }

                else
                {
                    // Resume song
                    if(mp!=null)
                    {
                            mp.start();
                    }
                }
            }
        });


        btnOne.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v) 
            {
                imgVw.setImageResource(R.raw.chocklate);
                }
            }
        );

        btnTwo.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                imgVw.setImageResource(R.raw.creame);
            }
        });

        btnThree.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                imgVw.setImageResource(R.raw.schocklate);

            }
        });

        btnFour.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                imgVw.setImageResource(R.raw.pinapple);

            }
        });

        btnFive.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                imgVw.setImageResource(R.raw.strobery);

            }
        });
    }

     @Override
        protected void onResume() 
        {
            super.onResume();
            System.out.println("Activity is Resume !!!");
        }

    @Override
    protected void onStart() 
    {
        super.onStart(); 
        System.out.println("Activity is Started !!!");
    }


     @Override
        protected void onRestart() {
            super.onRestart();
            System.out.println("Activity is Re-Started !!!");
            if(mp.isPlaying())
            {
                if(mp!=null)
                {
                    length=mp.getCurrentPosition();
                    mp.seekTo(length);
                    mp.start();
                }
            }

        }



        @Override
        protected void onPause() {
            super.onPause();
            System.out.println("Activity is Pause!!!");
        }

        @Override
        protected void onStop() {
            super.onStop();
            System.out.println("Activity is Stop !!!");
        }

        @Override
        protected void onDestroy() {
            super.onDestroy();
            System.out.println("Activity is Destroyed !!!");
        }


    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) 
        { //Back key pressed
           //Things to Do
            if(mp!= null)
            {
                if(mp.isPlaying())
                {
                    mp.pause();
                    //mp=null;
                }
            }
            finish();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

}

解决方案

You should use android MediaPlaybackService for background play,Pause, stop or just open the activity by clicking the Notification. when click on back button it will bind a PendingIntent to with the button click event or buttons on the notification bar for controlling audio playbacks.

Use this Gist Code for AudioPlayer, try o use MediaPlaybackService class or try to reverse engineer this owncloud code.

这篇关于如何恢复我的Andr​​oid的声音?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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