gpt4 book ai didi

iphone - 在 Cocoa Touch 中循环播放声音文件

转载 作者:行者123 更新时间:2023-12-01 19:17:00 26 4
gpt4 key购买 nike

我试图在 View 加载后播放声音并在整个应用程序中重复音乐,即使从不同的 View 切换也是如此。它会在 View 加载后播放,并在切换到不同的 View 后继续播放,但我无法让它循环播放。我正在使用声音。任何让我循环的帮助都会很棒

-(void)viewDidLoad {

CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef)@"beat", CFSTR ("mp3"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
}

最佳答案

尝试使用 AVAudioPlayer相反,解决方案将是这样的(使用 ARC )。

你需要在你的类中定义一个变量......

@interface MyClass : AnyParentClass {
AVAudioPlayer *audioPlayer;
}

// ...

@end

...您可以将以下代码放入您的任何方法中开始播放...
NSURL *urlForSoundFile = // ... whatever but it must be a valid URL for your sound file
NSError *error;

if (audioPlayer == nil) {
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:urlForSoundFile error:&error];
if (audioPlayer) {
[audioPlayer setNumberOfLoops:-1]; // -1 for the forever looping
[audioPlayer prepareToPlay];
[audioPlayer play];
} else {
NSLog(@"%@", error);
}
}

...停止播放很容易。
if (audioPlayer) [audioPlayer stop];

关于iphone - 在 Cocoa Touch 中循环播放声音文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654019/

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