【问题标题】:How to use MediaPlayer which plays music stored in a folder found in the asset如何使用 MediaPlayer 播放存储在资产中找到的文件夹中的音乐
【发布时间】:2020-06-18 06:44:54
【问题描述】:

我正在从 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 这样的和弦......

谢谢

【问题讨论】:

  • 如果媒体播放器可以从输入流中播放,那么可以。

标签: java android path android-mediaplayer


【解决方案1】:

对于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");

【讨论】:

    【解决方案2】:

    试试下面的代码来播放资产歌曲:

     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()
            }
        }
    

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多