- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我将按钮设置为键盘。每个按钮的作用类似于钢琴键,您触摸按钮,按住时会播放声音,松开时会停止。对于此方法,我使用了两个 IBAction。一个用于 Touch Down(声音播放)和 Touch Up Inside(声音停止)。我正在使用 SystemSoundID 播放声音,因为 AVAudioPlayer 有延迟播放。唯一的问题是,当我按住按钮时,声音播放正常,但一旦我松开触摸,我的应用程序就会崩溃。以下是我的代码:
.h文件:
SystemSoundID *soundID;
.m文件:
- (IBAction)ASoundStart:(id)sender {
NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"P1:4t" ofType:@"mp3"];
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:soundFile], &soundID);
AudioServicesPlaySystemSound(soundID);
[soundFile release];
}
- (IBAction)ASoundStop:(id)sender {
AudioServicesDisposeSystemSoundID(soundID);
}
最佳答案
我认为您错误地将 SystemSoundID 视为对象。它只是一个整数。
如果您查看 AudioServicesPlaySystemSound 的声明,请注意它的参数是 SystemSoundID
而不是 SystemSoundID *
void AudioServicesPlaySystemSound (
SystemSoundID inSystemSoundID
);
因此,如果您只是将 header 中的 SystemSoundID *soundID
更改为 SystemSoundID soundID
,我相信它应该可以工作。
快乐编码。
关于ios - SystemSoundID 停止声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11497846/
首先,感谢 StackOverflow 团队,因为这是一个非常有用的网站,因为我正在 iPhone 上进行开发。其次,请原谅我的语言。我是一个法国人,和每个法国人一样,我的英语很糟糕。 我的 iPho
在我的应用程序中,我将按钮设置为键盘。每个按钮的作用类似于钢琴键,您触摸按钮,按住时会播放声音,松开时会停止。对于此方法,我使用了两个 IBAction。一个用于 Touch Down(声音播放)和
我使用 SystemSoundID 在按下按钮时创建声音,这样: 这是对象声明: SystemSoundID soundEffect; 这是在 viewDidLoad 中: NSString *sou
我有这个代码。 import AudioToolbox.AudioServices if restoreData.boolForKey("VibrationSwitchButton") == true
我似乎无法弄清楚。 我可以用以下方式播放一种声音: - (void) initSounds { // Get the main bundle for the app CFBundleR
这是我播放声音的方式: var soundID: SystemSoundID = 1016 AudioServicesPlaySystemSound(soundID) 但这不是用户设置的默认系统声音。
问题在标题中:“如果我打开了 ARC,是否需要释放 SystemSoundID?”这是我的代码: NSURL *pathURL = [NSURL fileURLWithPath:path]; Syst
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭
在我的应用程序中,当用户输入错误密码时我需要振动。 我的设备操作系统:iOS5 iPhone3G有震动,iPhone4、iPad没有震动。 我已按照以下步骤操作: 1.将 AudioToolbox 框
- (void)playAlarmSound:(NSTimer *)theTimer { static SystemSoundID soundID/* = 0 */; // ? if
我是一名优秀的程序员,十分优秀!