gpt4 book ai didi

objective-c - 点击 Storyboard 按钮时播放自定义声音

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

我在 .storyboard 中制作了自定义按钮,点击时需要播放声音(不是音板,只需播放按钮按下的自定义音频文件)。
Storyboard编辑器中是否有声音选项可以启用此功能?如果没有,还有什么方法可以实现?

最佳答案

Storyboard不允许您将“音频”分配给按钮。但是,您可以使用相当简单的 AVAudioPlayer在一个函数中;

添加库

要使用 AVAudioPlayer,您首先需要将 2 个库/框架添加到您的项目中。这些框架包含实际播放器的基本代码,并允许我们(应用程序编写者)使用它。

在 xCode 中选择您的项目并转到 构建阶段 .选择 将二进制文件与库链接 .按小 [+] -icon 并添加框架:

  • 音频工具箱
  • AV基金会

  • 构架

    现在我们必须告诉我们的代码我们实际上将使用这两个框架。打开 Controller 的 .H 文件,并在顶部添加:
    #import <AVFoundation/AVFoundation.h>
    #import <AudioToolbox/AudioToolbox.h>

    事件+玩家

    将 UIButton 的事件之一(通过 Storyboard )(例如 Touch Up Inside)绑定(bind)到新的 IBAction 函数(例如 playSound)。

    通过绑定(bind)事件,您告诉您的应用程序如果用户按下按钮-> 运行此功能/代码。

    现在,在您新创建的 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];

    }

    我希望这会帮助你朝着正确的方向前进?

    查看 doc Apple 的 AVAudioPlayer 除了“播放”之外的所有功能/方法(例如缓冲、暂停等)

    关于objective-c - 点击 Storyboard 按钮时播放自定义声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223442/

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