我在我的应用程序中使用了MUSIC_PLAYER
,如下所示:
Intent myint = new Intent("android.intent.action.MUSIC_PLAYER");
startActivity(myint);
我想暂停这个播放器。我该怎么做?
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();
}
}
答案 0 :(得分:4)
在Samsung设备中,您可以使用以下意图控制音乐播放器:
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"));
另一个解决方案是AudioManager中的requestAudioFocus(不要忘记使用abandonAudioFocus释放它)。例如:
...
((AudioManager)getSystemService(Context.AUDIO_SERVICE)).requestAudioFocus(listener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
...
...
((AudioManager)getSystemService(Context.AUDIO_SERVICE)).abandonAudioFocus(listener);
...
答案 1 :(得分:3)
你做不到。暂停音乐播放器是应用程序内部专门为用户提供的内部操作,因此无法从应用程序外部访问/调用它。
但是,您可以通过调用setStreamMute(AudioManager.STREAM_MUSIC, true)
使用AudioManager课程将音乐音频流静音。
代码示例:
AudioManager am = (AudioManager)MainActivity.this.getSystemService(Context.AUDIO_SERVICE);
am.setStreamMute(AudioManager.STREAM_MUSIC, true);
答案 2 :(得分:1)
请参阅答案here,您可以发送广播来暂停或停止默认音乐播放器。