如何直接播放res/raw文件夹中的音频文件?

新手上路,请多包涵

我在 res/raw 文件夹中有多个音频文件。我显示 ListView 包含音频文件名。当用户选择 ListView 时,我想播放相应的音频文件。我用过 setDataSource(path) ,但播放时显示错误。如何直接从该文件夹播放音频文件?或者还有其他办法吗?

原文由 bharath 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 762
2 个回答

在 onItemClickListener 中添加此代码。

 listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {
                TextView txtView=(TextView)view.findViewById(R.id.txt_view);
                String fname=txtView.getText().toString().toLowerCase();

                                int resID=getResources().getIdentifier(fname, "raw", getPackageName());

                              MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);
                    mediaPlayer.start();
            }
        });

原文由 ilango j 发布,翻译遵循 CC BY-SA 3.0 许可协议

试试这个从原始播放::

 MediaPlayer mPlayer2;
mPlayer2= MediaPlayer.create(this, R.raw.bg_music_wav);
        mPlayer2.start();

清单文件中的权限 ::

 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

更新::

 public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {
  MediaPlayer mPlayer2;
if(position==1)
{
    mPlayer2= MediaPlayer.create(this, R.raw.song1);
            mPlayer2.start();
}else it() .....
}

原文由 Nikunj Patel 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题