android - 是否可以在 Android 上访问/录制内部音频?

标签 android audio

我对此进行了一些研究,发现的唯一答案只是将我引导到可以做到这一点的应用程序,并且总是有一些问题,例如它仅适用于三星手机等。与开发没有任何关系。我所说的内部音频是指来自系统的音频,例如游戏产生的音频。
那么可以录制内部音频吗?如果是这样,我将如何实现?
谢谢!!!

最佳答案

可以录制内部音频,有点..

Android's
API 具有允许录制麦克风音频的 MediaRecorder,因此如果内部音频足够响亮并且用户同意录制音频,那么是的,这是可能的。但是没有直接的方法可以通过 Android 的 API 做到这一点。这是他们的一些示例的 fragment code实现这一点。

    `private void startRecording() {

         mRecorder = new MediaRecorder();
         mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
         mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
         mRecorder.setOutputFile(mFileName);
         mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

         try {
            mRecorder.prepare();
         } catch (IOException e) {
           Log.e(LOG_TAG, "prepare() failed");
         }
         mRecorder.start();
     }`

Apple有他们的 iPhone 录音版本调用 AVAudioRecorder。但是,至少在他们的 API 中,默认情况下没有内置任何用于捕获内部音频的内容。

录制音频的另一种方法是从应用程序本身定位声音文件。但是,extracting the resources of an app不推荐,并且很可能违反您的用户协议(protocol)。 APK 基本上是 Android 中所有应用程序资源的 zip 文件。包含在这些资源中的,将是声音。就像您在问题中所说的那样,例如“游戏产生的音频”。

我希望这有帮助 !

关于android - 是否可以在 Android 上访问/录制内部音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43750788/

相关文章:

android - 在 Android 中动态引用 Strings.xml 中的字符串

c# - 播放脚本中的音频源

android - 如何在android中以编程方式录制带有特定声音的视频?

html - html5录制计算机声音

audio - SoX (Sound eXchange) 或 ffmpeg 中的包络模式

android - ListAdapter 不可能完成的任务?将 ImageViews 和 Animations 结合在一个里面?

android - BottomSheetDialogFragment 的圆角

audio - 使用sox转换音频文件,同时保留日期/时间信息

android - Activity 在 0x00000200(代码=1)处因致命信号 11 (SIGSEGV) 而崩溃

java - 从 fragment 内部打开 fragment ,而不出现先前的 fragment UI