在默认音乐播放器上播放歌曲-android
我的应用程序显示sd卡中的歌曲列表。我希望能够在默认播放器上播放歌曲。我有关于这首歌的所有数据:id、标题、专辑、艺术家、路径 有没有办法启动默认播放器播放歌曲 我所尝试的:在默认音乐播放器上播放歌曲-android,android,android-intent,mediastore,android-music-player,Android,Android Intent,Mediastore,Android Music Player,我的应用程序显示sd卡中的歌曲列表。我希望能够在默认播放器上播放歌曲。我有关于这首歌的所有数据:id、标题、专辑、艺术家、路径 有没有办法启动默认播放器播放歌曲 我所尝试的: 使用Intent.CATEGORY\u APP\u MUSIC。我可以启动默认播放器,但无法设置歌曲。 Intent.makemain选择活动(Intent.ACTION\u MAIN、Intent.CATEGORY\u APP\u MUSIC)打开默认音乐应用程序。 但是intent.setData(Uri.withAp
Intent.CATEGORY\u APP\u MUSIC
。我可以启动默认播放器,但无法设置歌曲。
Intent.makemain选择活动(Intent.ACTION\u MAIN、Intent.CATEGORY\u APP\u MUSIC)
打开默认音乐应用程序。
但是intent.setData(Uri.withAppendedPath(MediaStore.Audio.Media.EXTERNAL\u CONTENT\u Uri,id))
引发找不到intent的异常MediaStore.INTENT\u ACTION\u MUSIC\u PLAYER
。未找到活动。
Intent(MediaStore.Intent\u ACTION\u MUSIC\u PLAYER)。setDataAndType(Uri.fromFile(songFile),“audio/*”
INTENT\u ACTION\u MEDIA\u PLAY\u FROM\u SEARCH
。启动搜索,但不是歌曲,他说无法准备播放音乐的混音。然而,它现在可以在谷歌上运行,所以它可能是关键。
Intent(MediaStore.Intent\u ACTION\u MEDIA\u PLAY\u FROM\u SEARCH).putExtra(SearchManager.QUERY,name)
操作视图
。它可以工作,但它推出了一个紧凑版的播放器,我想要完整的播放器更新:看起来像谷歌现在硬编码播放音乐和Youtube支持。试试下面这样简单的方法:
MediaPlayer mp = new MediaPlayer();
mp.setLooping(true);
try {
mp.setDataSource(mFile); //mFile is the path to your mp3 file
} catch (Exception e) {
e.printStackTrace();
}
try {
mp.prepare();
} catch (Exception e) {
e.printStackTrace();
}
mp.start();
还有一个MadiaPlayer和文件保存在res/raw/目录中的示例:
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);
mediaPlayer.start(); // no need to call prepare(); create() does that for you
更多关于:
如果更改了mime类型,则将打开默认视图应用程序。对于视频mime类型,将打开视频播放器、音频音乐播放器和图像库
如果有多个播放器,则将打开解析器
活动
不要忘记捕获活动NotFoundException
在Music player for ACTION_VIEW AudioPreview Activity中,优先调用。还有其他处理此操作的活动,只需使用操作“
com.android.music.PLAYBACK\u VIEWER
”检查一次,而不是使用操作视图或它。如果要在设备上启动默认的音乐播放器应用程序,请尝试以下操作:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(YOUR_SONG_URI);
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);
它正在推出一款紧凑型的游戏版本,因为该应用程序以这种方式实现了它, 您可以找到许多第三方应用程序,它们使用
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(YOUR_SONG_URI);
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);
由于您已经尝试了此操作注意:我想启动外部播放器,而不是在我的应用程序中。嗯,那么您是否尝试将此选择作为此处的最佳答案?是的,它启动了一个仅用于播放而非整个客户端的压缩版本。它启动了默认音乐播放器的压缩版本,请参见更新问题中的图片啊,对不起,我想了解你!没关系,这是最接近的解决方案。嘿,我有一个想法,但它是非常非常黑暗的魔法Android。你应该为你的默认音乐播放器创建一个假启动器图标。在这种情况下,操作系统认为应该启动应用程序。此解决方案的缺点:仅适用于一个播放机。启动默认媒体播放机很简单,但不设置歌曲。在我的问题上,这与解决方案4有何不同?请检查音乐应用程序的AndroidManifest.xl,您可以从AndroidXRefandroid.content.ActivityNotFoundException获取代码:未找到可处理意图的活动{act=com.android.music.PLAYBACK_VIEWER dat=content://media/external/audio/media/2797 typ=audio/*}@RahulPatil.你能回答我吗?可能的副本实际上不是,我想发布特定的歌曲,而不仅仅是音乐播放器。你找到答案了吗>
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(YOUR_SONG_URI);
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);