如何使用 MediaPlayer 播放存储在资产中找到的文件夹中的音乐
How to use MediaPlayer which plays music stored in a folder found in the asset
我正在从 android studio 创建一个 android 应用程序。
我的目的是有一个函数来根据字符串参数播放不同的歌曲。
MediaPlayer mysound;
public void play(String song){
mysound = Mediaplayer.create(this, "../../../../asset/soundlib/" + song);
mysound.play();
}
我尝试了 R.assets.song。它只是行不通。
有没有办法把歌曲命名为C.mp3?它说它们不应该大写并且所有的参数基本上都是像C A F这样的和弦...
谢谢
尝试使用以下代码播放资产歌曲:
fun playSound(context: Context, assetsFileName: String?) {
try {
val mediaPlayer = MediaPlayer()
val descriptor: AssetFileDescriptor = context.getAssets().openFd(assetsFileName!!)
mediaPlayer.setDataSource(
descriptor.getFileDescriptor(),
descriptor.getStartOffset(),
descriptor.getLength()
)
descriptor.close()
mediaPlayer.prepare()
mediaPlayer.isLooping = false
mediaPlayer.start()
} catch (e: Exception) {
e.printStackTrace()
}
}
谢谢
android java 使用
void test_mp(String file_name)
{
MediaPlayer mediaPlayer = null;
mediaPlayer = new MediaPlayer();
try {
AssetFileDescriptor afd = act.getAssets().openFd(file_name);
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
mediaPlayer.prepare();
} catch (final Exception e) {
e.printStackTrace();
}
mediaPlayer.start();
}
所以对于你的情况,你可以这样称呼它 test_mp("SoundLib/A.mp3");
我正在从 android studio 创建一个 android 应用程序。
我的目的是有一个函数来根据字符串参数播放不同的歌曲。
MediaPlayer mysound;
public void play(String song){
mysound = Mediaplayer.create(this, "../../../../asset/soundlib/" + song);
mysound.play();
}
我尝试了 R.assets.song。它只是行不通。
有没有办法把歌曲命名为C.mp3?它说它们不应该大写并且所有的参数基本上都是像C A F这样的和弦...
谢谢
尝试使用以下代码播放资产歌曲:
fun playSound(context: Context, assetsFileName: String?) {
try {
val mediaPlayer = MediaPlayer()
val descriptor: AssetFileDescriptor = context.getAssets().openFd(assetsFileName!!)
mediaPlayer.setDataSource(
descriptor.getFileDescriptor(),
descriptor.getStartOffset(),
descriptor.getLength()
)
descriptor.close()
mediaPlayer.prepare()
mediaPlayer.isLooping = false
mediaPlayer.start()
} catch (e: Exception) {
e.printStackTrace()
}
}
谢谢
android java 使用
void test_mp(String file_name)
{
MediaPlayer mediaPlayer = null;
mediaPlayer = new MediaPlayer();
try {
AssetFileDescriptor afd = act.getAssets().openFd(file_name);
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
mediaPlayer.prepare();
} catch (final Exception e) {
e.printStackTrace();
}
mediaPlayer.start();
}
所以对于你的情况,你可以这样称呼它 test_mp("SoundLib/A.mp3");