gpt4 book ai didi

iphone - 关闭模态视图 Controller 会导致音乐停止

转载 作者:行者123 更新时间:2023-12-03 00:57:12 27 4
gpt4 key购买 nike

我正在创建一个需要一直播放背景音乐的应用程序。在应用程序启动时,我开始播放音乐,一切都很好,直到我关闭模态视图 Controller (我这样做是为了返回应用程序的主屏幕)。此时,音乐突然停止,当我尝试调整音量时,它实际上说“铃声”.... 5-10 秒后它回到“音量”,我可以再次启动音乐。

有没有人遇到过这个问题?我很难确定问题的根源......

编辑:
这就是我开始播放音乐的方式(theData 是我的共享数据对象)

NSString *musicPath = [[NSBundle mainBundle] pathForResource:@"bg" ofType:@"mp3"]; 

theData.backgroundMusicPlayer =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:musicPath] error:nil];

theData.backgroundMusicPlayer.delegate = self;

[theData.backgroundMusicPlayer prepareToPlay];

[theData.backgroundMusicPlayer play];

theData.backgroundMusicPlayer.numberOfLoops = -1;

在应用程序中,我有两个场景:我执行从场景 1 到场景 2 的转场,然后返回我使用以下代码:
 [self dismissModalViewControllerAnimated:NO];
[theScene removeSubviews];

方法removeSubviews:
[fbInfoView removeFromSuperview];
[logoView removeFromSuperview];
self.captureSession=nil; // ending AVCaptureSession

最佳答案

不清楚您是如何创建和设置的 theData ,但我建议您为此目的使用单例对象。像这样的东西:

@interface MySingleton : NSObject {

}
+(MySingleton*)sharedHelper;
-(void)playMusic;
@end

实现:
@implementation MySingleton
static MySingleton* _sharedMySingleton = nil;

+(MySingleton*)sharedHelper
{
if (!_sharedMySingleton)
[[self alloc] init];

return _sharedMySingleton;

return nil;
}

+(id)alloc
{
NSAssert(_sharedMySingleton == nil, @"Attempted to allocate a second instance of a singleton.");
_sharedMySingleton = [super alloc];
return _sharedMySingleton;
}

return nil;
}

-(id)init {
self = [super init];
if (self != nil) {
// initialize stuff here
}

return self;
}

-(void)playMusic
{
// your code
}

@end

并这样称呼它:
[[MySingleton sharedHelper] playMusic];

关于iphone - 关闭模态视图 Controller 会导致音乐停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12179159/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com