Iphone 在其他视图处于“使用”状态时运行此操作

Iphone 在其他视图处于“使用”状态时运行此操作,iphone,objective-c,xcode,voice,Iphone,Objective C,Xcode,Voice,你好 好的,我有一个叫做“RecordViewController”的视图,它有录音功能,所以一旦用户按下“record”,它就会记录他们的声音,我还创建了一个“back”按钮。但一旦按下后退按钮,录音也会停止。我想要它,所以一旦用户返回,它仍然会记录他们的声音。 以下是我使用的代码: h 谢谢您需要一个共享对象,您的应用程序可以在录制过程中访问该对象。类似于 @interface UserRecording : NSObject +(UserRecording*)currentRecordi

你好 好的,我有一个叫做“RecordViewController”的视图,它有录音功能,所以一旦用户按下“record”,它就会记录他们的声音,我还创建了一个“back”按钮。但一旦按下后退按钮,录音也会停止。我想要它,所以一旦用户返回,它仍然会记录他们的声音。 以下是我使用的代码:

h


谢谢

您需要一个共享对象,您的应用程序可以在录制过程中访问该对象。类似于

@interface UserRecording : NSObject

+(UserRecording*)currentRecording;

@end

如果要正确执行此操作,您需要考虑所有有趣的原则以及委派和/或通知。

由于您是在模式对话框中创建音频会话,因此当您关闭该模式对话框时,它将被解除锁定。尝试在主VC中实例化AudioSession,将其传递到模式VC并在那里启动。

UserRecording?所以我必须为此创建一个新类?我建议这样做。按下开始按钮后,即可开始音频会话。一旦录制开始,currentRecording可以返回该实例,直到其停止。当然,还会有更多的方法,比如开始/停止。我不太确定怎么做,我对这个还是有点陌生。试试Mike的解决方案。关键是,当所有相关视图都可见时,您用来播放音频的对象只需要存在。假设您有3个控制器,控制器2和3应该录制音频,但控制器3有录制音频的按钮。控制器2可以创建不播放的音频对象,然后将其传递给控制器3。然后,控制器3可以启动或停止录制,当控制器3关闭时,它仍将在2上播放。一旦控制器2被释放,它将不会记录在控制器1上,因为它不是设计用来记录的。希望有帮助我想我会退一步问你模态对话的目的是什么?是向用户展示按钮吗?在这种情况下,我会使用UIAlert或UIActionSheet,甚至可能使用UIButtons切换.hidden属性,只需在当前启动模式对话框的任何视图控制器中执行所有操作。嗯,为什么需要UIAlert,因为一旦用户转到另一个视图,录制仍将录制,在他们按下录制按钮之后。什么是模态对话框,recorderviewcontroller?thanksUIAlert只是一种方便的方式,您可以为用户提供一些选择,例如开始录制。既然您在back方法中忽略了模态VC,那么您在哪里调用presentModalViewController?这就是需要创建和拥有您的录音机的对象。
@interface UserRecording : NSObject

+(UserRecording*)currentRecording;

@end