Как запустить музыкальный проигрыватель по умолчанию из моего приложения?

#android #audio-player #android-music-player

#Android #аудиоплеер #android-music-player

Вопрос:

Я создаю приложение с помощью ListView . Когда я нажимаю на ListView элемент, должен начать воспроизводиться .ogg звуковой файл. Не в моем приложении, а в приложении музыкального проигрывателя по умолчанию пользователя. Как я могу это сделать?

Ответ №1:

Попробуйте это

 Intent it = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file:///sdcard/song.mp3");
it.setDataAndType(uri, "audio/mp3");
startActivity(it);
  

Или

 Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");   
Intent it = new Intent(Intent.ACTION_VIEW, uri);   
startActivity(it);  
  

Извлечено из http://snipt.net/Martin/android-intent-usage

Я не тестировал себя.

Комментарии:

1. при этом воспроизводится только песня из внутренней памяти или определенная песня с SD-карты. Как это сделать, если я загружаю все песни с SD-карты на mediaplayr.

Ответ №2:

не знаю, относится ли это непосредственно к вопросу, но вот способ открыть приложение Play Music из вашего собственного приложения:

 Intent i;
PackageManager manager = getPackageManager();
try {
i = manager.getLaunchIntentForPackage("com.google.android.music");
if (i == null)
     throw new PackageManager.NameNotFoundException();
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {
}
  

Ответ №3:

Попробуйте это:

     Intent intent = new Intent();
    intent.setAction(android.content.Intent.ACTION_VIEW);
    File file = new File(uri);
    intent.setDataAndType(Uri.fromFile(file), "audio/*");
    ActivityChatView.mContext.startActivity(intent);