AudioSource.VOICE_CALL在安卓4.0系统中不工作,但在安卓2.3系统中工作。
VOICE_CALL, VOICE_DOWNLINK ,VOICE_UPLINK 不在Android 4.0上工作,而是在Android 2.3上工作(实际设备),我上传了一个虚拟项目来记录所有传出的呼叫,以便您可以为您的自我 看到它 您只需要在TService.java 的第118行上将audioSource = MediaRecorder.AudioSource.MIC;更改为audioSource = MediaRecorder.AudioSource.VOICE_CALL; 如果遇到任何错误,请告诉我.与之相关的任何建议将被接受. 解决方案 经过大量搜索,我发现某些制造商已关闭了对此类功能的访问,因为某些国家不允许呼叫记录.如果有人发现这样的问题并以其他方式获取解决方案,那么将其发布到这里可能会有所帮助,因为许多人都有相同的问题. 其他解决方案 尝试使用MediaRecorder.AudioSource.VOICE_RECOGNITION.我遇到了
2 2024-04-03
编程技术问答社区
MediaRecorder-如何在录制时播放大块/小块的视频?
我目前有一个 mediastream ,该正在使用 Mediarecorder 记录.在录音的末尾,在recorder.stop()之后,它会产生 blob ,我可以播放该视频.我的目标是最后播放整个视频,而是在录制时播放.目的 我该如何使用JavaScript?最终的目标是发送Websocket的一大块,即使录制正在采取行动. 我无法带来新的解决方案.谁能帮忙或至少向我解释一下? 我尝试的是 navigator.mediaDevices.getUserMedia().then(function(media_stream) { var recorder = new MediaRecorder(media_stream); recorder.ondataavailable = event => { //How
8 2024-04-01
编程技术问答社区
Blob视频持续时间元数据
我正在编写一种在Firefox中操纵相机流视频的软件. 我正在生成 blob ,并记录了 Mediarecorder api . 我正在做什么来保存斑点作为本地存储中的视频正在使用 filesaver 库: FileSaver.saveAs(BlobVideo,"video.mp4"); 看来该视频没有任何最大持续时间,因此我无法在VLC中新生成的视频中的时间表中导航. 有没有办法在斑点视频上设置持续时间元数据? 解决方案 这个问题几乎是另一个. (但是由于上面有一个赏金,我们不能投票关闭) 这是一个已知的 chrome bug . 您可以通过加载视频,将其currentTime设置为一些超值,然后阅读持续时间,从而将其从浏览器本身开始,但是您不会将其附加到文件本身上,至少要等到该错误已修复. 其他解决方案 直到Kaiido提到的铬错误已修复为止,这对我有用: while(video.duration === Infi
2 2024-04-01
编程技术问答社区
是否有可能将多个webm blobs/clips合并成一个连续的视频客户端?
我已经看过这个问题 - confatem 并在此处尝试了示例代码 - . t在我的铬浏览器上工作,据说它是兼容的. 我问题的症结在于,我第一次播放后无法将多个Blob WebM剪辑组合为一个而没有错误的播放.要直接解决问题,请在代码的前两个块之后滚动到行,为背景继续阅读. 我正在设计一个Web应用程序,该应用程序允许主持人录制其解释图表和视频的场景. 我正在使用Mediarecorder WebAPI在Chrome/Firefox上录制视频. (附带问题 - 我可以通过网络摄像头和麦克风录制视频/音频的其他方法(除了闪存)?因为不支持Mediarecorder,而不是Chrome/Firefox用户代理). navigator.mediaDevices.getUserMedia(constraints) .then(gotMedia) .catch(e => { console.error('getUserMedia() failed:
40 2024-04-01
编程技术问答社区
在安卓应用程序中从外部来源录制音频
我看到这里有一个类似的问题: 是可能的在Android中录制视频时从外部麦克风中录制? 但是,这个问题从未真正得到回答,Android文档并未清楚地说明这是如何完成的. 此线程中的此人指出,这是可能的,但没有说如何. 来自外部麦克风的实时音频捕获和播放/a> 在" setaudiosource"部分中进行选择是有意义的,但是这些选项都不适用于外部来源. MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_DOWNLINK); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 我的应用程序已完成99%.任何帮助将不胜
4 2024-03-19
编程技术问答社区
当试图在LG G Watch上录制音频时,MediaRecorder抛出 "java.lang.RuntimeException: start failed: -2147483648"。
我正在尝试在LG G手表上录制音频.以下代码在语句" recorder.start();"中使用消息"启动失败:-2147483648"的runtimeException投掷.想知道我在这里做错了什么. 我尝试了许多不同的参数,例如AudioSource: recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); //-and- recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 也为OutputFormat我尝试了 recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); //-and- recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); //-and- recorder.setOutputFormat(Med
10 2024-03-19
编程技术问答社区
为什么MediaRecorder会延迟开始录制?
我已经在我的Android应用程序中实现了一个功能,该功能使用mediaRecorder记录音频文件. 它可以正常工作,但由于某些原因跳过了录制的第一秒. 我完全使用了完全相同的我在寻找这个问题的答案,我发现很少有人有相同的问题,但没有真正的解决方案. 这是我的研究: Mediarecorder class在轻微延迟后开始录制音频/li> 录制开始时的Mediarecorder Silence(delay?)/li> Mediarecorder以1秒的延迟开始.我如何摆脱 沉默? 我有一个LG设备不确定是否可能是硬件问题. 我也知道mediaRecorder的一些替代方案,我只想知道有人是否找到了解决此问题的方法. 解决方案 事实是mediaRecorder班级对您说实话. 如果您遇到相同的问题,寂静或死气的空气很小,您没有很多选择. 不能通过代码来使这个问题受到影响,这似乎是一个硬件问题. 不幸的是,某些设备的行为会有所不同. 解
2 2024-03-19
编程技术问答社区
为什么我在停止MediaRecorder时得到一个IllegalStateException?
为了更好地了解Android中的音频录制和播放,我在Android Dev教程中实现了代码的克隆 https://developer.android.com/guide/guide/topics/media/mediarecorder#sample-comple-comple-comple 开始录制后没有发生错误,但是,我尚未验证是否实际发生任何记录.然后,当我停止录制时,该应用程序崩溃到了上一个活动,然后在随后的尝试中弹出"应用程序不断崩溃"对话框,并且应用程序退出. 我在AndroidManifest中有 private void onRecord(boolean start) { if (start) { startRecording(); } else {
2 2024-03-19
编程技术问答社区
我怎样才能在安卓系统中暂停录音?
我的目的是暂停记录文件. 我在Android开发人员网站中看到其媒体记录器没有暂停选项. Java支持编程合并两个音频文件,但在Android中不起作用. 从java中加入两个wav文件? ,我还使用了所有设备中可用的默认设备音频录音机应用程序,但在三星中,很少设备尚未重新录制录制路径. Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); startActivityForResult(intent,REQUESTCODE_RECORDING); 使用暂停功能的任何一个帮助语音录制的帮助. 解决方案 /Media/mediarecorder.html Mediarecorder没有暂停和恢复方法.您需要使用停止和启动方法. 其他解决方案 我对我的一个项目有这样的要求,我们所做的就像是制作一个原始文件,以在使用AudioRecord开始录制时保存记录的
12 2024-03-19
编程技术问答社区
MediaRecorder.ondataavailable-data的大小始终为0
我正在尝试使用Web API媒体录音机在浏览器中记录用户的声音. 在此阶段,我要使用的音频一旦记录就可以将其添加到音频元素的来源并播放. 当我停止录音机时,触发了" ondataavailable"事件,但是数据的大小为0,什么也无法播放. 这是我的代码所处的位置.我正在使用React.任何想法都将不胜感激! handleRecording (stream) { const recordedChunks = this.state.recordedChunks; const mediaRecorder = new MediaRecorder(stream) const _this = this; mediaRecorder.start(); mediaRecorder.ondataavailable = function(e) { if (e.data.size > 0){ recordedChunks.push(e.data);
48 2024-03-19
编程技术问答社区
MediaRecorder类在轻微延迟后开始录制音频
我对中国订单班有问题.当我调用start()方法时,录音机开始录制(音频),但是在延迟一段时间后(延迟非常明显 - 大约1秒).我已经在Android 2.3设备,特别是Samsung NexusS上看到了这种情况.此问题没有出现在Android 1.6(G1)或任何版本的Android仿真器上.您能确认是否看到此问题以及是否有同样的解决方案?这是一个记录的错误? 解决方案 这似乎是Mediarecorder中的错误或设备的固件.您可以在默认的摄像头应用程序中看到相同的延迟,该应用程序还使用Mediarecorder.我还注意到,在视频停止录制时,每个录音结束时都有额外的音频.但是,整个视频中似乎都同步了视频和音频.是这样的: ========================================= Audio being captured ========================================= Video
6 2024-03-19
编程技术问答社区
安卓-录制视频时麦克风静音
我正在使用Mediarecorder类录制视频,之后遵循此 类似的教程 http://androidcookbook.com/Recipe.seam;jsessionid= 40151FCD26222877E151C3EEFB406EED?配方= 1375&配方from = ViewToc 我想在录制时,能够静音/取消渗透麦克风. 怎么可能? 我在开始时设置音频源 mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 但是,如果我想在某个时候录制而无需录制呢? 解决方案 尝试以下代码: private void setMicMuted(boolean state){ AudioManager myAudioManager
20 2024-03-19
编程技术问答社区
MediaRecorder-record调用应用程序
我试图开发录制调用的应用程序. 当我记录输出时,听起来很有线 - 电子声音而不是 其他人的声音. 这是我的代码: public class MainActivity extends Activity implements OnClickListener { private Boolean Recording; private Button btn_REC; private MediaRecorder mrec; private File audiofile = null; private static final String TAG = "SoundRecordingDemo"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Re
4 2024-03-19
编程技术问答社区
如何暂停/恢复用mediarecorder创建的录音?
我试图在来电上暂停录音,然后稍后再恢复.我正在使用andriod mediarecorder,并尝试在MPEG4中录制.我尝试使用setOutputFile(fd),fd开始暂停/简历,并以setOutputFile(fd)的速度开始,这是被停止/暂停的音频文件的filedescriptor,希望它会附加,但我没有运气.有没有办法实现这一目标或附加两个录音,或者我应该放弃mediarecorder. 代码: private MediaRecorder media_recorder; private String file_path = null; public void startRecording(path) { file_path = path media_recorder= new MediaRecorder(); media_recorder.setAudioSource(MediaRecorder.AudioSource.MIC); media_r
6 2024-03-19
编程技术问答社区
安卓-改变设备时录制的音频文件大小不一
我正在尝试在Android中记录一个音频文件,我将设置输出文件比特率和采样率,一切正常,但是每当我在其他设备中记录任何内容时,文件大小都会有很大不同. 我已经用z2进行了一些测试,并改变了比特率和采样率,在同一记录时间内获得了非常不同的文件大小.我注意到该文件最取决于比特率,而不是采样率. 问题是我期望并且实际上需要文件尽可能少,但是即使使用Moto G,我从38-254KB获得文件,Z2上同一配置上的文件也为437-653kb大小. 我不知道该怎么做才能在Z2(和任何其他设备)上获得几乎相同的Moto G,任何帮助将不胜感激. 对不起,我的英语不是我的自然语言. P.D: 使用MediaInfo,我只能在文件中获得"总体比特率".将比特率设置为16000时,MediaInfo上的Moto G文件显示19.4kbps和Z2文件显示226kbps,但两者都显示"比特率" = 16.8kbps. 解决方案 不同设备上不同尺寸的原因可以通过两个因素(麦克风质量
4 2024-03-19
编程技术问答社区
如何在安卓内部存储中保存音频文件
我想知道如何将音频文件保存在我的Android设备的内部存储中.具体来说,我希望我的应用记录从麦克风中发出的声音,以将该文件保存在内部存储中.我知道对于外部存储,有类似的东西: outputFile = Environment.getExternalStorageDirectory()+"/myrecord.3gpp"; 内部存储也有类似的东西吗? 谢谢! 解决方案 尝试这个... outputFile="/sdcard/myrecord.3gpp";
6 2024-03-19
编程技术问答社区
安卓MediaRecorder转为音频跟踪、录制和播放
我正在尝试使用Mediarecorder和Idiotrack在同一活动中播放用户的声音并将其播放.我只是不明白如何将文件写入Audiotrack.我已经阅读了两者的文档,根本无法弄清楚.任何帮助,将不胜感激.到目前为止,这是我的代码,还没有完成.您唯一需要阅读的按钮是RecordButton和PlaybackButton.谢谢! private File outputFile = null; private AudioTrack voice = null; private MediaRecorder recorder = null; .... // Setup recorder... recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.Outp
12 2024-03-19
编程技术问答社区
在Android中使用MediaRecorder和NoiseSuppressor
我使用这样的代码开始了一个项目,对Android麦克风进行实验: mRecorder = new MediaRecorder(); mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mRecorder.setOutputFile(mFileName); mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 之后,准备()和start()开始录制麦克风音频. 麻烦是,我还试图添加一些音频处理效果,例如Noisiseuppressor. API文档指出,Noisisupressor已完成此操作: NoiseSuppressor create (int audioSess
8 2024-03-19
编程技术问答社区
如何触发声音输入的振动?
我正在尝试创建一个Android应用程序,在该应用程序中,我过滤了一个哔哔声的一个特定频率并使手机振动. 我正在从移动麦克风和使用Mediarecorder类中获取输入,通过使用此类,我可以记录,保存和播放输入.现在,每当有哔哔声或任何声音时,我都需要手机振动. 输入是由电线给手机插孔的手机插孔,因此我知道只有一个频率是输入. 我有一个按钮,单击开始录制. 我已经有权在我的清单文件中振动和记录. record.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { isRecording=true; myAudioRecorder.prepare();
4 2024-03-19
编程技术问答社区
MediaRecorder在录制开始时沉默不语(延迟?)
我的Mediarecorder已设置为从麦克风中录制音频.这起作用...除了第一个.65秒完全是死气的 - 好像是第一个.65秒按下了记录按钮,但麦克风尚未打开. 我需要确定是否: 我的代码有问题 这只是Mediarecorder工作方式的一个缺陷 1和2是正确的,但是有一个工作! 解决方案 rehersalaudiorecord 包含一些写得很好的代码,用于以未压缩的WAV格式录制.使用此录音在开始时没有死空气.该类利用Audiorecord,这是使用Mediarecorder的较低级别方法.以此代码为例,从我的超级直接出发来进行集成和过渡. 这个答案把我带到了那里...我花了一段时间才发现了这个问题,所以我发布了这个自我答复,以防它加快某人的代码spelunking. > ///////////////////////////////////////// 但是只有班级提供商一个原始音频.我们无法将音频文件编码为ARM或MP3等.
2 2024-03-19
编程技术问答社区