我在 .storyboard 中制作了自定义按钮,点击时需要播放声音(不是音板,只需播放按钮按下的自定义音频文件)。
故事板编辑器中是否有声音选项可以启用此功能?如果没有,还有什么方法可以实现?
问问题
2102 次
2 回答
5
故事板不允许您将“音频”分配给按钮。但是,您可以做的是在函数中使用相当简单的AVAudioPlayer;
添加库
要使用 AVAudioPlayer,您首先需要将 2 个库/框架添加到您的项目中。这些框架包含实际播放器的基本代码,并允许我们(应用程序编写者)使用它。
在 xCode 中选择您的项目并转到Build Phases。选择Link Binary with Libraries。按小[+] - 图标并添加框架:
- 音频工具箱
- AV基金会
构架
现在我们必须告诉我们的代码我们实际上将使用这两个框架。打开控制器的 .H 文件,并在顶部添加:
#import <AVFoundation/AVFoundation.h>
#import <AudioToolbox/AudioToolbox.h>
事件+玩家
将 UIButton 的事件之一(通过情节提要)(例如 Touch Up Inside)绑定到新的 IBAction 函数(例如 playSound)。
通过绑定事件,您告诉您的应用程序如果用户按下按钮-> 运行此功能/代码。
现在,在您新创建的 IBAction 函数(例如 playSound)中添加一些代码来创建一个带有 MP3 的播放器并播放它;
- (IBAction)playSound:(id)sender
{
// Load in a audio file from your bundle (all the files you have added to your app)
NSString *audioFile = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"mp3"];
// Convert string to NSURL
NSURL *audioURL = [NSURL fileURLWithPath:audioFile];
// Initialize a audio player with the URL (the mp3)
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:nil];
// Start playing
[player play];
}
我希望这会帮助你朝着正确的方向前进?
检查 Apple 的文档,了解 AVAudioPlayer 除了“播放”之外的所有功能/方法(例如缓冲、暂停等)
于 2012-09-01T00:11:13.140 回答
2
当我使用设置音量时,上面的代码有效
[播放器设置音量:1.0];
在我这样做之前它不起作用。
于 2014-07-23T19:01:08.317 回答