我有一个应用程序,我想添加直接从某种麦克风设备导入小音频片段的功能.
我已经允许导入图片了,这对磁盘文件和摄像头来说还可以,因为当你附加它们时,摄像机会神奇地变成磁盘设备,所以文件导入方法适用于两者.
但音频略有不同.我已经允许从磁盘导入音频文件,但我想添加从麦克风直接录制到磁盘文件或内存缓冲区的功能.
C#/ WPF提供了一种简单的方法吗?添加此功能的好方法是什么?
设置Chrome扩展程序以录制麦克风音频的最简单方法是什么?
我看到有一个有效的实验语音输入API但你怎么没有访问录制的文件?看起来像挂钩应该很简单,因为它在这个过程中提前一步,不是吗?特别是因为还有一个文本到语音的API,所以你可以有效地记录到文本中,然后让计算机说出来,但除非你想要一个标准的语音,多么蹩脚,多余和容易出错?
然后似乎有像这样的闪存解决方案,但我如何在Chrome扩展中使用它而无需设置任何服务器端?(因为我实际上不需要向服务器发送任何内容 - 它都是本地和客户端)
NPAPI有可能吗?是否有这样的插件现成的?
不知道其他可能的替代方案(HTML5还没有准备好,似乎)但我欢迎任何功能和简单的实现和挂钩到chrome扩展.
我有这个工作代码.我需要它只在有限的时间内录制,而无需用户点击任何内容.我该怎么做呢?
MediaRecorder recorder = new MediaRecorder();
File outputFile = new File(file);
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(outputFile.getAbsolutePath());
try {
recorder.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
recorder.start();
recorder.setMaxDuration(60000);
// stop
recorder.stop();
recorder.reset();
recorder.release();
Run Code Online (Sandbox Code Playgroud) 我需要帮助理解以下ASBD.这是分配给新实例的默认ASBD RemoteIO(我通过AudioUnitGetProperty(..., kAudioUnitProperty_StreamFormat, ...)在RemoteIO音频单元上执行,在分配和初始化之后立即获得它).
Float64 mSampleRate 44100
UInt32 mFormatID 1819304813
UInt32 mFormatFlags 41
UInt32 mBytesPerPacket 4
UInt32 mFramesPerPacket 1
UInt32 mBytesPerFrame 4
UInt32 mChannelsPerFrame 2
UInt32 mBitsPerChannel 32
UInt32 mReserved 0
Run Code Online (Sandbox Code Playgroud)
问题是,不mBytesPerFrame应该8吗?如果每个通道有32位(4字节),每帧2个通道,那么每帧不应该是8个字节长(而不是4个)?
提前致谢.
signal-processing core-audio audio-recording audio-streaming audiounit
可能重复:
Android上的语音识别与录制的声音剪辑?
我正在开发一个Android应用程序,它将音频录制到文件,然后使用语音识别从录制的语音中获取文本.
是否有语音识别库可用于此类任务?我该如何开始?
我正在AudioQueueiOS中使用以实现对网络的录制流.
问题是它通常效果很好,但有时(约20%的尝试)声音可怕的扭曲 - 它听起来像机器人.
编辑: 我能够在ios6和ios6.1模拟器上轻松地重现它 - 但我无法在真实手机(ios6.1.3)上重现它.
试图调试它我将PCM数据保存到文件.PCM文件中出现相同的失真,因此这在编码或上传代码中不是问题.我也尝试使用缓冲区的数量和缓冲区的大小 - 没有任何帮助.
问题是我不知道如何进一步调试它 - 看起来缓冲区被扭曲为回调的输入 - 在我的代码被激活之前(音频队列配置除外).
队列设置代码:
audioFormat.mFormatID = kAudioFormatLinearPCM;
audioFormat.mSampleRate = SAMPLE_RATE; //16000.0;
audioFormat.mChannelsPerFrame = CHANNELS; //1;
audioFormat.mBitsPerChannel = 16;
audioFormat.mFramesPerPacket = 1;
audioFormat.mBytesPerFrame = audioFormat.mChannelsPerFrame * sizeof(SInt16);
audioFormat.mBytesPerPacket = audioFormat.mBytesPerFrame * audioFormat.mFramesPerPacket;
audioFormat.mFormatFlags = kLinearPCMFormatFlagIsSignedInteger
| kLinearPCMFormatFlagIsPacked;
AudioQueueNewInput(
&audioFormat,
recordCallback,
self, // userData
CFRunLoopGetMain(), // run loop
NULL, // run loop mode
0, // flags
&recordQueue);
UInt32 trueValue = true;
AudioQueueSetProperty(recordQueue,kAudioQueueProperty_EnableLevelMetering,&trueValue,sizeof (UInt32)); …Run Code Online (Sandbox Code Playgroud) 我必须为我的一个客户构建一个iOS应用程序.这个概念是如果我吹入iPhone麦克风,声音可能来自蓝牙音箱.例如,如果我在麦克风中说"嗨",应用程序应将该音频传递给蓝牙扬声器,声音应来自蓝牙扬声器.直到现在我已经完成了蓝牙配对.自从过去3天以来我一直在寻找这个,但找不到任何解决方案.请让我知道任何启动应用程序的建议或链接.
提前谢谢了
我正在使用recorder.js和Recordmp3.js通过麦克风录制音频.
它在Chrome浏览器中运行良好,但在Firefox中却没有(最新版本).
当我在Firefox浏览器上点击我的网络应用程序时,它要求我共享麦克风,但几秒后它就消失了.因此,由于该录制功能无法在Firefox上录制任何内容.
我正在分享使用Recordmp3.js开发的工作示例,并且它在Firefox中不起作用.
这是一个已知的问题?
我想在原始语音备忘录应用程序上对记录进行可视化:

我知道我可以获得级别 - updateMeters - peakPowerForChannel: - averagePowerForChannel:
但是如何绘制图形,我应该自定义吗?我可以使用免费/付费来源吗?
我正在尝试使用ReactJS录制音频,并希望存储在我的节点服务器中。
为此,我尝试使用“ react-audio-recorder”模块,但是却遇到了一些问题,例如一个接一个地连续录制音频时,该模块出现故障,并且我尝试使用p5.js进行录音,但是我在配置它时遇到问题。
请建议我最好的方法来在react(JavaScript)中录制音频并将其保存在我的节点服务器中。
audio-recording ×10
ios ×3
android ×2
core-audio ×2
javascript ×2
audioqueue ×1
audiounit ×1
c# ×1
firefox ×1
getusermedia ×1
html5 ×1
node.js ×1
objective-c ×1
reactjs ×1
swift ×1
wpf ×1