首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动com.android.music.musicservicecommand

启动com.android.music.musicservicecommand
EN

Stack Overflow用户
提问于 2014-07-15 11:06:25
回答 2查看 2.2K关注 0票数 1

有没有办法开始使用默认的音乐播放器在不同品牌的设备上播放歌曲?

我尝试了以下代码,如果服务已经运行,则暂停可以成功工作。但是,播放命令永远不会启动。

例如,我在Xperia S.Pause上测试了这一点,但play永远不会启动默认的(Walkman应用程序)播放器(服务)。

代码语言:javascript
复制
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);
        }

    }
});
EN

回答 2

Stack Overflow用户

发布于 2014-07-15 11:45:17

试试这个:

代码语言:javascript
复制
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“

票数 0
EN

Stack Overflow用户

发布于 2015-10-30 14:43:24

试试这个:

代码语言:javascript
复制
    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)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24749241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档