【问题标题】:Play and stop sound (2 views)播放和停止声音(2 次观看)
【发布时间】:2012-05-11 12:20:46
【问题描述】:

如何从第一个视图中的按钮播放声音,然后从另一个视图中停止(使用按钮)

【问题讨论】:

  • 当然不是,但我已经搜索了很多但我找不到我想要的代码
  • @user1346627 好吧,如果你去 Google 并过去 “我如何在我的第一个视图中从按钮播放声音,然后从另一个视图停止它(使用按钮)” 我我相信你不会找到太多东西......

标签: iphone ios xcode sdk audio


【解决方案1】:

首先明确您要停止来自其他视图而不是视图控制器的声音。

如果您想从其他视图停止,则将音频播放器设为您的类对象,并在其他视图的按钮方法中停止它。

如果您想从其他视图控制器停止,请使用委托。

【讨论】:

    【解决方案2】:

    简单易上手!首先添加 AVFoundation 框架并实现 AVAudioPlayer。您可以查看有关如何播放音乐/声音的文档和其他堆栈溢出问题。然后使 AVAudioPlayer 成为一个类中的属性。然后声明一个停止声音的方法,通过调用[audioPlayer stop] 还值得一提的是[audioPlayer pause] // and [audioPlayer play] 两者也存在。或者,您可以通过另一个类的指向该类本身的指针来调用这些消息。然后在另一个类中,声明一个具有指向另一个类的指针的 IBAction,并向该类发送一条消息,告诉它执行停止方法。很简单,这是一个结构:

    1. 在 FirstView 中,声明一个播放音乐的 AVAudioPlayer 属性
    2. 在 FirstView 中,声明一个停止方法
    3. 实现停止方法
    4. 使用将页面更改为 SecondView 的 IBAction 方法声明并绘制 UIButton
    5. 在 SecondView viewDidLoad 方法中,添加并绘制一个 UIButton,该按钮链接到调用 stop 方法的 IBAction 或者只是调用 [FirstView audioPlayer] stop]; 或类似的东西!

    记得遵守代表!重要!

    您可以参考 AVAUDIOPLAYER 代码的建议问题!

    iPhone/iPad - Loop Background Music?

    但请记住不要从字面上复制此代码,请记住属性,并且您显然有参数修改。对不起,如果我听起来太明显了,只是因为你的问题太模糊了,我无法判断你是否是一个初学者!

    【讨论】:

      【解决方案3】:

      用一个监听自定义通知的类包裹你的播放器。
      例如:

      #define PlayerPlayNotification @"PlayerPlayNotification"
      #define PlayerStopNotification @"PlayerStopNotification"
      

      然后每个按钮都可以发送所需的通知,以便在不知道实际播放器或有任何指向它的情况下开始/停止播放。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-14
        • 1970-01-01
        • 2015-03-24
        相关资源
        最近更新 更多