首页 > 解决方案 > 从内部存储播放音频文件的应用程序,Android Studio (JAVA)

问题描述

我试图创建一个播放 wavfiles 的应用程序,这些 wavfiles 是从我制作的另一个记录 wavFiles 的应用程序创建的。

我想播放的 wav 文件与我的 android 设备一起存储在以下目录中。

“/data/data/com.example.androidaudiorecorder/files/”

这是我到目前为止尝试的代码:

 public class MainActivity extends AppCompatActivity {

Button playEvent ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    playEvent= (Button) findViewById(R.id.btnPlayEvent);
    playEvent.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            playEvent( );
        }
    });
}





public static void playEvent(){
     try {
        MediaPlayer player = new MediaPlayer();
         player = new  MediaPlayer();
        player.setDataSource("/data/data/com.example.androidaudiorecorder/files/recording_DOG.wav");
        player.prepare();
        player.start();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (Exception e) {
        System.out.println("Exception of type : " + e.toString());
        e.printStackTrace();
    }



}

 }
 }

不幸的是,当我加载应用程序并按下播放时,没有任何反应。我不确定这是否是使用文件目录的正确方法。任何有关如何解决此问题的建议将不胜感激。

标签: javaandroidandroid-studioandroid-mediaplayerwav

解决方案


1)在读取/写入存储中的任何内容之前,您需要在 android 清单文件中授予访问存储的权限。

2)读取文件,

File dir = Environment.getExternalStorageDirectory();
File yourFile = new File(dir, "path/filename.extension");

推荐阅读