- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试同时使用多个录音机。
我尝试了 AudioRecord 和 MediaRecorder 的不同用法,也尝试了 visualizer,然后我意识到不能用于 Mic。我在这里阅读了很多相关问题,但仍然没有任何帮助。
根据我在 StackOverFlow 中阅读的内容,我了解到它可能与物理兼容性有关,因此我创建了这个小应用程序,它会尝试使用 MediaRecorder 从两个不同的线程录制音频,并在不同的 Android 设备上对其进行测试。几种类型的三星、htc、lg、华为,甚至一些不太流行的中国设备。唯一能让两个录音机同时工作的设备是一部名为“Macoox MC-X9”的手机。我确保我的应用程序运行正常,结果确实如其所愿。
这是记录线程的示例:
private void startRecording(final MediaRecorder mRecorder, final int which){
Log.d(TAG, "Record started : " + which);
try {
//mRecorder = new MediaRecorder(); //it's done somewhere else
mRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.setMaxDuration(60 * 1000);
mRecorder.setOnErrorListener(new MediaRecorder.OnErrorListener() {
@Override
public void onError(MediaRecorder mr, int what, int extra) {
stopRecording(mRecorder, which);
}
});
mRecorder.setOnInfoListener(new MediaRecorder.OnInfoListener() {
@Override
public void onInfo(MediaRecorder mr, int what, int extra) {
if (what == mr.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
stopRecording(mRecorder, which);
Log.d(TAG, "Max duration reached !");
}
}
});
String mFileName = which + "_" + getTime() + mFileExt;
mRecorder.setOutputFile(recDir.getAbsolutePath() + "/" + mFileName);
mRecorder.prepare();
mRecorder.start();
makeToast("Record started : " + which);
} catch (Exception e) {
Log.d(TAG, e.toString());
makeToast("Error");
stopRecording(mRecorder, which);
}
}
现在我有一个问题,是否可以通过任何方式改变其他设备的兼容性?我的意思是,例如我可以简单地 root 三星设备并在需要时编辑任何相关内容。我只是希望能够通过任何必要的方式启用此选项。
感谢任何帮助。
最佳答案
您要查找的内容在很大程度上取决于手机的硬件和驱动程序。因此,您将很难对其进行篡改。
您是否考虑过录制一个音频文件并多次打开它?对我来说这听起来是最好的解决方案。
关于android - 有没有办法同时拥有多个录音机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35669072/
我正在尝试录制音频 this.recorder = new android.media.MediaRecorder(); this.recorder.setAudioSource(android.me
有人可以指导我完成在我的网站上嵌入录音小部件的过程,人们可以在其中录制简短(约 5 秒)的语音片段吗?我完全没有使用 Flash 的经验,但由于 HTML5 还不存在,所以这是必要的。 最佳答案 @p
我有一个 SDL 应用程序,可以在 Linux、Mac 和 Windows 下运行。它有点像媒体播放器,可以很好地播放音频。我想为其添加录音功能,但我想将其实时编码为 MP3。谁能给我举个例子,我如何
我在 intent 的帮助下调用本地录音机 Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); 如我所料,它
我想开发一个媒体播放器/录音机。 主要目标平台是 Windows,支持其他操作系统会很好,但这不是一个高优先级。它应该能够播放 wav、mp3、avi 等格式。它还应该能够录制音频(麦克风)和视频(网
我正在尝试在 UWP 上为 winphone 创建一个通话记录器。我正在尝试用音频图来做到这一点。我需要为输入设备(麦克风)创建一个节点,为输出设备(扬声器)创建一个节点并将它们提交到文件(wave/
我的部门的任务是使用内置的 Windows 录音机录制早间演示音频以备将来使用。由于人性,我们并不总是记得按时启动它。 Windows 没有与 Unix cron 功能等效的内置功能。除了安装一个新的
有没有人可以帮助我开发具有播放和暂停功能的灵活录音机? 注意:我用过PauseResumeAudioRecorder .这很好但不灵活,因为当我停止录制时我的文件就会损坏。我也使用过 MP4Parse
我是 Java 编程的新手。我正在尝试构建一个将由 NFC 启用的 android 应用程序,连续录制声音(在 sleep 期间)(在 1-2 分钟长度的单独文件中,然后开始一个新的录制文件),上传每
我正在构建一个需要能够显示实时频谱分析仪的应用程序。这是我在 iOS 上成功制作的版本: 我正在使用 Wendykierp JTransforms库来执行 FFT 计算,并设法捕获音频数据并执行 FF
我有一个在 Android 中使用 openSLES 的 native 录音机。记录器可以工作,但是当调用停止方法时,它似乎继续写入缓冲区,因为我继续获取日志: ... 08-07 01:36:43.
我安装了 JDK 和 eclipse,-java version 似乎在终端中工作,但我没有找到一个单一的原因来说明为什么即使在从帮助安装之后 Robotium 记录器-> 在 eclipse 中安装
如何为 iOS 设置 AirPlay 视频和音频接收器(然后将流保存为视频文件)? 我知道这违反了 Apple 的指导方针,这不适用于 AppStore 分发。我可以使用私有(private) API
我正在创建的录音机应用程序中有两个函数(遵循 Udacity 教程。)我试图了解这两个函数是如何相关的: @IBAction func recordButton(sender: UIButto
我是安卓新手。我想使用 AndroidRecord API 构建一个录音机 android 来获取 .wav 文件,因为要进一步处理声音格式必须是 .wav。经过搜索和一些试验,我无法得到我想要的。任
我正在尝试为 Android Wear 构建录音机应用。现在,我能够在 watch 上捕捉音频,将其传输到手机并保存在文件中。但是,音频文件存在间隙或裁剪部分。 我发现这回答了与我的问题相关的问题 l
希望你能帮帮我。我尝试编写一个简单的小程序,录制 5 秒钟的音频并将其保存在文档目录中。 我已经用模拟器对其进行了测试,我可以看到输出中的路径,还可以看到创建的 sound.wav 文件。我可以打开该
下面的录音机只在第一次工作,如果你尝试第二次录音,它会在尝试 AudioFileWritePackets 时给出错误“kAudioFileInvalidPacketOffsetError”。 知道为什
我正在做的项目中需要一个录音机,而且录制的声音必须稍后再听。该项目由 c# 和 asp.net mvc 开发。 http://demos.subinsb.com/jquery/voice/ 我在上面的
我是一名优秀的程序员,十分优秀!