gpt4 book ai didi

ios - Avaudioplayer 如何停止从其他 Controller 播放对象

转载 作者:行者123 更新时间:2023-11-29 11:11:13 26 4
gpt4 key购买 nike

我有 firstViewControllerSecondViewController。在两个 Controller 中,我都可以点击播放按钮,然后就会播放旋律。因此,当我点击 1 个 Controller 中的播放按钮然后转到 2 个 Controller 并点击其他播放按钮时,2 个旋律将一起播放。所以我的问题是当我点击第二个 Controller 中的播放按钮时如何停止来自第一个 Controller 的第一首旋律。谢谢!

在firstViewController viewdidload

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"first" ofType:@"wav"];
NSURL *soundURL_ = [NSURL fileURLWithPath:soundPath];
AVAudioPlayer *first = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL_ error:nil];
[first prepareToPlay];

secondViewcontroller 中相同,但第二个而不是第一个

当我按下按钮时:

[first play]

最佳答案

您可以创建一个包含 AVAudioPlayer 和与播放器关联的方法的自定义对象的实例,然后在您的两个 View 中为该对象创建一个指针。

如果您想从 AppDelegate 中实例化您的 AVAudioPlayer,您必须首先设置您的 AVAudioPlayer 并将其分配给您的 AppDelegate 的属性。

在您的 View Controller 中,访问您的 App Delegate 的任何属性很容易,只需编写:

AppNameAppDelegate *ad = (AppNameAppDelegate *)[[UIApplication sharedApplication] delegate];

其次是:

localAVAudioPlayerInstance = ad.audioPlayer;

如果您需要更详细的说明,请告诉我。

关于ios - Avaudioplayer 如何停止从其他 Controller 播放对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11512259/

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