如何以编程暂停音乐播放器 [英] How to pause a music player programatically

查看:155
本文介绍了如何以编程暂停音乐播放器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用 MUSIC_PLAYER 在我的应用程序通过启动这样的:

 意图敏=新的意向书(android.intent.action.MUSIC_PLAYER);
startActivity(敏);
 

和我想暂停这个播放器。我该怎么办呢?

 进口android.media.AudioManager;

进口android.media.MediaPlayer;

进口android.os.Bundle;

进口android.app.Activity;

进口android.content.Intent;

进口android.view.Menu;

公共类MainActivity延伸活动{

    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);
        螺纹MTR =新的Thread(){
            公共无效的run()
            {
                尝试 {
                    意图敏=新的意向书(android.intent.action.MUSIC_PLAYER);
                    startActivity(敏);
                    睡眠(50000);
                    //在这里,我想这50秒后暂停我的应用程序。
                }
                赶上(InterruptedException异常E){
                    e.printStackTrace();
                }
                最后{
                    意图敏=新的意向书(nextscreen);
                    startActivity(敏);
                }
            }
        };
        mtr.start();
    }
}
 

解决方案

三星设备,你可以控制音乐播放器与这些意图:

  ICS:
com.android.music.musicservicecommand.play
com.android.music.musicservicecommand.pause
com.android.music.musicservicecommand.next
...

JB:
com.sec.android.app.music.musicservicecommand.play
com.sec.android.app.music.musicservicecommand.pause
com.sec.android.app.music.musicservicecommand.next
...

context.sendBroadcast(新的意向书(com.sec.android.app.music.musicservicecommand.pause));
 

另一种解决方案是requestAudioFocus在AudioManager(不要忘了与abandonAudioFocus释放)。例如:

  ...
((AudioManager)getSystemService(Context.AUDIO_SERVICE))requestAudioFocus(监听器,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN_TRANSIENT)。
...

...
((AudioManager)getSystemService(Context.AUDIO_SERVICE))abandonAudioFocus(听众);
...
 

I have used MUSIC_PLAYER in my application by starting like this:

Intent myint = new Intent("android.intent.action.MUSIC_PLAYER");
startActivity(myint);

And I want to pause this player. How do I do that?

import android.media.AudioManager;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Thread mtr = new Thread(){
            public void run()
            {
                try {
                    Intent myint = new Intent("android.intent.action.MUSIC_PLAYER");
                    startActivity(myint);
                    sleep(50000);
                    // Here I want to pause my application after those 50 seconds.
                }
                catch(InterruptedException e){
                    e.printStackTrace();
                }
                finally{
                    Intent myint = new Intent("nextscreen");
                    startActivity(myint);
                }
            }
        };
        mtr.start();
    }
}

解决方案

In Samsung devices, you can control the music player with these intents:

ICS:
"com.android.music.musicservicecommand.play"
"com.android.music.musicservicecommand.pause"
"com.android.music.musicservicecommand.next"
...

JB:
"com.sec.android.app.music.musicservicecommand.play"
"com.sec.android.app.music.musicservicecommand.pause"
"com.sec.android.app.music.musicservicecommand.next"
...

context.sendBroadcast(new Intent("com.sec.android.app.music.musicservicecommand.pause"));

Another solution is requestAudioFocus in AudioManager (do not forget to release it with abandonAudioFocus). For example:

...
((AudioManager)getSystemService(Context.AUDIO_SERVICE)).requestAudioFocus(listener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
...

...
((AudioManager)getSystemService(Context.AUDIO_SERVICE)).abandonAudioFocus(listener);
...

这篇关于如何以编程暂停音乐播放器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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