Android音频捕获

时间:2014-02-06 03:11:48

标签: android audio media audio-recording

我正在关注this文章以捕获Android上的音频。我觉得这很容易,但是有问题。这是代码:

    File dir = activity.getDir("recordings", Context.MODE_PRIVATE);
    File file = new File(dir, "testaudio.mpeg4");

    FileUtil fileUtil = new FileUtil();
    File parent = file.getParentFile();

    if(!parent.exists()){
        Log.i(TAG, "Creating non-existent path:" + parent.getAbsolutePath());
        parent.mkdirs();
    } 

    recorder = new MediaRecorder();
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);

        try{
            recorder.setOutputFile(file.getAbsolutePath());
            recorder.prepare();
            recorder.start();
        }catch(IOException e){
        //more code
        }

因此,它确实在/data/data/com.myapp/app_recordings/文件夹下创建了一个testaudio.mpeg4文件。但是,在将文件传输到Mac(使用adb pull)后,它无法播放。我在Mac上,我尝试了一些音频格式(例如MP3,MPEG,3GP等),但似乎没有任何工作。任何帮助/指导将不胜感激。

2 个答案:

答案 0 :(得分:0)

使用此

File dir = new File(Environment
            .getExternalStorageDirectory().getAbsolutePath() + "/recording/");

答案 1 :(得分:0)

这似乎是Mac问题,代码或设备没有任何问题。我可以听到设备上的音频。