gpt4 book ai didi

iphone - MPMoviePlayerController 停止 iPod 播放并且不重新启动

转载 作者:行者123 更新时间:2023-12-03 18:58:20 25 4
gpt4 key购买 nike

我有一个带有简短介绍视频的 iPhone 应用程序。如果用户在 iPod 播放音乐时启动应用程序,则音乐将在视频播放时停止(无论视频是否有声音),并且在视频播放后音频将永久停止。苹果似乎表明你可以使用 AudioSession 技巧来解决这个问题: https://web.archive.org/web/20100819124854/http://developer.apple.com:80/iPhone/library/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/WorkingWithOpenALiPodMusicandMovies/WorkingWithOpenALiPodMusicandMovies.html

但他们的建议似乎不起作用;似乎 MPMoviePlayerController 出于其自身目的覆盖了 Audio Session 配置。理想情况下,我会通过 iPod 音频混合电影音频,或者可能使用闪避,但即使重新启动音乐也可能是一个可以接受的解决方案。

最佳答案

我已经找到了一个很好的解决方案。在 .h 文件中,您必须创建一个名为“wasPlaying”的 BOOL。在播放视频之前,您询问 iPod 是否正在播放。

if ([[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying)
{
NSLog(@"Music was playing, lets put YES to the bool");
wasPlaying = YES;
}

然后,在您告诉电影播放器​​播放后,您可以调用以下命令:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(finishedPlaying) name:MPMoviePlayerPlaybackDidFinishNotification object: moviePlayer];

之后,在finishedPlaying方法中:

if (wasPlaying ==YES)
{
NSLog(@"Music was playing, lets play music again");
[[MPMusicPlayerController iPodMusicPlayer] play];
}

对我来说效果很好!

关于iphone - MPMoviePlayerController 停止 iPod 播放并且不重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1716045/

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