播放和停止声音(2 次观看)

Posted

技术标签:

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

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

【问题讨论】:

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

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

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

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

【讨论】:

【参考方案2】:

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

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

记得遵守代表!重要!

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

iPhone/iPad - Loop Background Music?

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

【讨论】:

【参考方案3】:

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

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

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

【讨论】:

以上是关于播放和停止声音(2 次观看)的主要内容,如果未能解决你的问题,请参考以下文章

phonegap 媒体声音在 5 次后停止播放

触发 AVAudioPlayer 以停止所有声音并播放选定的声音,除非单击播放(选定)按钮

Javascript 声音开始/停止和图像更改

在android soundpool中播放新声音时如何停止所有其他以前的声音?

Soundmanager 2:播放另一个声音时停止播放声音

如何停止 SoundPool 中的所有声音?