Android:从res文件启动默认音频意图

时间:2018-02-20 20:51:32

标签: 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

它仍然给我同样的例外。

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

1 个答案:

答案 0 :(得分:0)

不要求任何设备有能够支持使用未充分利用的Uri方案播放来自android:resource的音频的应用。

或者:

  • 使用MediaPlayer

  • 自行播放
  • 将该资源的内容复制到文件中,然后使用FileProvider content Uri

  • 使用def shuffling(X_Train, Y_Train, m, minibatch_size): permutation = list(np.random.permutation(m)) shuffled_X = X_Train[permutation, :] shuffled_Y = Y_Train[permutation, :] n_comp_minibatches = math.floor(m / minibatch_size) minibatches = [(shuffled_X[i*minibatch_size:(i+1)*minibatch_size], shuffled_Y[i*minibatch_size:(i+1)*minibatch_size]) for i in range(n_comp_minibatches)] return minibatches 进行投放