Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVAudio录音机从后台发出后未录制_Ios_Avplayer_Avaudiorecorder - Fatal编程技术网

Ios AVAudio录音机从后台发出后未录制

Ios AVAudio录音机从后台发出后未录制,ios,avplayer,avaudiorecorder,Ios,Avplayer,Avaudiorecorder,我用过音频录像机。当我来自背景时,录音机没有录音 我的设想是 开始录制按主页按钮(录制已停止) 打开我的应用程序录音机仍在录音(已由录音机检查。isRecording为是) 停止录制并播放录制的音频仅播放我的应用程序进入后台之前录制的内容 我正在录制5秒->应用程序开始后台->出现前台->录制另一个5秒->播放音频音频仅播放前5秒 录制时,我正在检查提供给录音机的文件路径的大小(由NSTimer提供)。从后台发送后,文件大小不会增加,但录音机状态仍为录制 谁能指出错误在哪里。谢谢 注意:在ios

我用过音频录像机。当我来自背景时,录音机没有录音

我的设想是

  • 开始录制按主页按钮(录制已停止)

  • 打开我的应用程序录音机仍在录音(已由录音机检查。isRecording为是)

  • 停止录制并播放录制的音频仅播放我的应用程序进入后台之前录制的内容

  • 我正在录制5秒->应用程序开始后台->出现前台->录制另一个5秒->播放音频音频仅播放前5秒

  • 录制时,我正在检查提供给录音机的文件路径的大小(由NSTimer提供)。从后台发送后,文件大小不会增加,但录音机状态仍为录制

    谁能指出错误在哪里。谢谢


    注意:在ios6中,它播放整个10秒的音频没有问题。它只在ios7中出现

    您应该检查
    AVAudioSessionDelegate
    委托方法。电话通话时音频录制将停止

    - (void)beginInterruption{
    
    }
    -(void)endInterruption{
    }
    
    您可以继续后台录制。添加背景模式,如图所示


    因此,如果您不想在后台录制,而只想在进入后台之前和之后追加录制内容,请在
    application willenterbackground
    (或
    application willresignative
    )中暂停您的录制,当您从后台回来时,继续录制,您会没事的。(您可以通过通知让正在录制的类知道这些生命周期委托方法。)
    但是如果你想在后台录制,你需要打开后台模式:应用程序设置->功能中的音频和播放。但那是另一回事。

    不,没有电话。它发生在我回到地面的时候。接下来,它在iOS6中运行良好。您是否检查了录音机。录制它返回的内容?在前台状态[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&err];必须设置好这个是的,我所有的事情都做对了。问题是录音机没有附加录音后,从背景这是问题,我认为你的代码在任何地方的问题。因为在我的应用程序中它运行良好。你回答了我所做的。我就这样解决了这个问题。无论如何我都会接受这个答案。它会帮助别人