2012-04-26 1 views
1

Я разрабатываю приложение, в котором мне нужно запустить музыкальное приложение по умолчанию и воспроизвести все песни. Я пробовал несколько кодов, но ничего не работает.Начать музыкальный проигрыватель по умолчанию с музыкой по умолчанию

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage(
          "com.android.music.MediaPlaybackActivityStarter"); 
startActivity(LaunchIntent); 

и

Intent intent = new Intent(); 
ComponentName comp = new ComponentName("com.android.music", 
    "com.android.music.MediaPlaybackActivity"); 
intent.setComponent(comp); 
intent.setAction(Intent.ACTION_RUN); 
startActivity(intent); 

Просто запускает музыкальный плеер

Intent i = new Intent(Intent.ACTION_VIEW); 
Uri u = Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, "1"); 
startActivity(i); 

играет только первая песня.

Мне нужно сыграть все песни.

Пожалуйста, помогите.

ответ

0

Я думаю, что вы должны реализовать свой плейлист, который вы можете передать своему медиапланеристу и установить свою следующую песню в mediaplayer.onCompletion().

player.setOnCompletionListener(new OnCompletionListener() { 

       @Override 
       public void onCompletion(MediaPlayer mp) { 
        Log.d("ON COMPLETE", "true"); 
        player.isCompleteTrack = true; 
        if (mPlaylist.isLastTrack()) { 

         Log.i(PLAYER_ENGINE_TAG, " end playlist"); 
         stop(); 
        } else { 

         Log.i(PLAYER_ENGINE_TAG, " next song"); 
         next(); 
        } 
       } 
      }); 

Следующие()

@Override 
    public void next() { 

     if (!mPlaylist.isEmpty()) { 

      mPlaylist.setSelectedMedia(mPlaylist.getSelectedMedia() + 1); 
     } 

     play(); 
    } 

Или вы можете попробовать файл открытого m3u (плейлист).

+0

Я хочу сыграть все песни, а не только одну песню. Другими словами, я хочу, чтобы музыкальное приложение по умолчанию открывалось и автоматически запускалось (через код). – sarveshs

+0

Назовите меня noob, но не ваш код воспроизводит песни в том же приложении, используя android.media.MediaPlayer. Я пытаюсь открыть музыкальное приложение по умолчанию в android. – sarveshs

+0

Я уже говорил, что вы должны создать своего собственного игрока, потому что трудно перехватить встроенный плеер по умолчанию. Я нашел 2 похожих вопроса [link] (http://stackoverflow.com/questions/2030487/play-playlist-with-mediaplayer), он указал, что может передать 1 список песен в качестве URI, чтобы играть как одна одиночная песня. И еще [ссылка] (http://stackoverflow.com/questions/6788156/intent-to-open-android-playlist-activity) –

1

Чтобы просто запустить музыкальный плеер сделать:

Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER); 
startActivity(intent); 

обратите внимание, что это работает только в уровне API SDK 8 до

+0

Ваш код - простой запуск музыкального проигрывателя. Но поскольку я понимаю, что OP хочет начать и ** играть **. Я запускаю ваш код на NexusS (4.1.2). Это означает, что проигрыватель не воспроизводит песни. –

+0

@Yul Я тестировал NexusS (4.1.2), он работает для меня. –

+0

MediaStore.INTENT_ACTION_MUSIC_PLAYER) лишен уровня API 15 – Dharmendra

1

Используйте это для апи ниже 15

Intent intent = new Intent("android.intent.action.MUSIC_PLAYER"); 
inintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

и позже использование android.intent.category.APP_MUSIC.

 Смежные вопросы

  • Нет связанных вопросов^_^