android - Android:从res文件启动默认音频 Intent

标签 android audio android-intent mp3

我正在尝试使用应用程序中的默认音频播放器来播放res / raw目录中存在的音频文件。

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(String.format("android.resource://%s/%s/%s",getContext().getPackageName(),"raw","fade")), "audio/*");     

startActivity(intent);

但是,每次遇到异常时:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=android.resource://com.example.android.punjabi/raw/fade typ=audio/* launchParam=MultiScreenLaunchParams { mDisplayId=0 mFlags=0 } }

我已经尝试了这里提到的方法:

Get URI of .mp3 file stored in res/raw folder in android

它仍然给我同样的异常(exception)。

请帮忙。我不想使用MediaPlayer类播放音频。我想使用手机上的默认音频播放器来播放它。

最佳答案

不需要任何设备具有能够使用未充分利用的Uri方案支持从android:resource播放音频的应用程序。

要么:

  • 使用MediaPlayer
  • 自己播放
  • 将资源的内容复制到文件中,然后使用FileProvider通过content为其提供服务Uri
  • 关于android - Android:从res文件启动默认音频 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48894002/

    相关文章:

    android - 可以在android中实时捕获视频并将其流式传输到闪存服务器吗?

    android - 在Android中使用firebase通过ID查找对象的方法

    android - 如何处理 Android 中失败的 AudioFocus 请求?

    ios - 转到类(class)时mp3播放失败

    java - 如何通过 Intent 共享多个文件?

    java - 当 EditText 输入为空时 Android 应用程序崩溃

    java - 新的联系人类和错误 - 应用程序已停止 - Android

    java - 如何生成具有正弦波和用户定义的持续时间和频率的 .wav 文件?

    java - 如何发现另一个应用程序的 Intent

    android - 如何在按钮上单击 “Intent”来启动Facebook lite