gpt4 book ai didi

iphone - 没有声音在播放

转载 作者:行者123 更新时间:2023-12-03 02:29:19 25 4
gpt4 key购买 nike

-(IBAction)test1
{
CFBundleRef mainBundle = CFBundleGetMainBundle();

CFURLRef soundFileURLRef;
soundFileURLRef =CFBundleCopyResourceURL(mainBundle,
(CFStringRef) @"Bear3", CFSTR ("wav"), NULL);

UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef , &soundID);
AudioServicesPlaySystemSound(soundID);
AudioServicesDisposeSystemSoundID(soundID);
CFRelease(soundFileURLRef);
}

它没有播放声音文件

最佳答案

您的代码无法正常工作,因为您在处理资源之前先将其处理掉。

AudioServicesDisposeSystemSoundID(soundID);

播放声音时不应调用。您需要重新组织代码。

如果更高级别的 CF类可以完成此工作,则还应避免使用 NS类。在这种情况下,他们可以。就是这样:

代码以回应评论:
SoundExampleViewController.h:
#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>
@interface SoundExampleViewController : UIViewController{
SystemSoundID bear3SoundID;
}
-(IBAction)playSoundButtonPushed:(id)sender;
@end

SoundExampleViewController.m:
#import "SoundExampleViewController.h"
@implementation SoundExampleViewController
-(IBAction)playSoundButtonPushed:(id)sender{
AudioServicesPlaySystemSound(bear3SoundID);
}
- (void)viewDidLoad{
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Bear3" ofType:@"wav"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path],&bear3SoundID);
}
- (void)viewDidUnload{
[super viewDidUnload];
AudioServicesDisposeSystemSoundID(bear3SoundID);
}
@end

即使您坚持使用 CF方法中的 viewDidLoad类,也应遵循此常规布局。

关于iphone - 没有声音在播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8056246/

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