Jas*_*eet 4 iphone objective-c avaudiorecorder
这是我的代码:
-(void) recordButton{
[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
NSLog(@"value of the grant is :: %hhd", granted);
if (granted)
{
// perform operation recording
// perfrom some operation on UI(changing labels and all)
}
else
{
// do operation
}
}];
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我第一次运行我的应用程序时,在隐私中重置并且我的应用程序调用上面定义的方法后,会产生麻烦.
当我的应用程序第一次运行时,弹出允许/禁止麦克风乱码(操作系统定义)方法.当我点击允许它显示布尔值(授予correclty).正确进入IF内部.正确开始录制.但UI冻结了.并且IF的第二部分即改变标签名称,直到执行时才会执行计时器(由我添加停止方法和记录).
请帮忙.我可以感觉到我的第二部分IF(更改UI标签不在前台工作),即后台工作正常运行.请帮助,我不是专家.2个月前启动了iOS编程.
我得到了答案.我的问题是,当程序达到If(已授予)时,它正在执行录制功能但未在UI上执行(更改标签和所有).
问题是,整个代码被视为一个单独的线程,并在后台执行.这就是录制工作正常的原因(因为它是后台进程).
但UI(更改标签)是一项前台任务.
所以为此,我必须在MAIN队列上的一个线程下执行UI CODE.现在它完美无缺.
| 归档时间: |
|
| 查看次数: |
2131 次 |
| 最近记录: |