有没有办法开始使用默认的音乐播放器在不同品牌的设备上播放歌曲?
我尝试了以下代码,如果服务已经运行,则暂停可以成功工作。但是,播放命令永远不会启动。
例如,我在Xperia S.Pause上测试了这一点,但play永远不会启动默认的(Walkman应用程序)播放器(服务)。
final AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
Button player = (Button) findViewById(R.id.player);
player.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("Button music:","clicked!");
if(mAudioManager.isMusicActive()) {
Log.v("Button music:","paused!");
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "pause");
MainActivity.this.sendBroadcast(i);
}else{
Log.v("Button music:","starts!");
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "play");
MainActivity.this.sendBroadcast(i);
}
}
});发布于 2014-07-15 11:45:17
试试这个:
Intent intent = new Intent("android.intent.action.MUSIC_PLAYER");
//"songsList" is an array with paths of all the songs in the sdcard
Uri uri = Uri.parse(songsList.get(0));
String type = "audio/mp3";
intent.setDataAndType(uri, type);
startActivity(intent);它将直接打开您的音乐播放器并开始选择/特定的歌曲。如果它不起作用,那么您可以将意图名称替换为"android.intent.category.APP_MUSIC“
发布于 2015-10-30 14:43:24
试试这个:
long eventtime = SystemClock.uptimeMillis();
Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent downEvent = new KeyEvent(eventtime, eventtime,
KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, 0);
downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
sendOrderedBroadcast(downIntent, null);
Intent upIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent upEvent = new KeyEvent(eventtime, eventtime,
KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, 0);
upIntent.putExtra(Intent.EXTRA_KEY_EVENT, upEvent);
sendOrderedBroadcast(upIntent, null); 链接:Android default media player "start" after "stop" error (com.android.music.musicservicecommand)
https://stackoverflow.com/questions/24749241
复制相似问题