好的,又是我。我正在尝试记录手机内部播放的音频。我不想从麦克风捕获不良音频,而是从媒体播放器或音池捕获音频。如何将输入流连接到媒体播放器或sounpool?我想指出的是,我有多个声音池播放多个样本,因此我需要将输入流设置为一个声音池对象数组,或者,我可以将其设置为仅一个声音池对象并更改通过该声音池播放的声音。对象通过数组。我之所以这么说是因为它是一个音乐应用程序。举例来说,有4个带有4个单独音乐片段的按钮,每个片段播放3秒,我怎么能将它们播放多长时间,然后再保存成品。因此,我将按startREC,然后通过一个声音池播放声音,然后我可以停止暂停并等待一秒钟,然后再播放一些按钮并停止录音,并且我得到了清晰的非麦克风录音。我怎样才能做到这一点?

public void newMETH() throws Exception {
    URL url = new URL("http://myradio,com/stream.mp3");
    AssetFileDescriptor afd = this.getAssets().openFd("sound.ogg");
    sp.load(afd, 1);
};
public void startREC() throws Exception {
    in = getAssets().open("aabbccdd.mp3");
    File outFolder = new File(root.getAbsolutePath() + "/clxxxii");
    outFolder.mkdir();
    File outFile = new File(outFolder, "ooooooooohhhigetit.mp3");
    out = new FileOutputStream(outFile);
};

public void stopREC() throws Exception {
    copyFile(in, out);
    in.close();
    in = null;
    out.flush();
    out.close();
    out = null;
}

private void copyFile(InputStream in, OutputStream out) throws IOException {
    byte[] buffer = new byte[1024];
    int read;
    while ((read = in.read(buffer)) != -1) {
        out.write(buffer, 0, read);
    }
}

最佳答案



我认为这可以帮助您:

http://www.techotopia.com/index.php/Android_Audio_Recording_and_Playback_using_MediaPlayer_and_MediaRecorder

08-07 20:33