我有一个带有音频和mp3的视频。我想在播放mp3时播放静音(音频关闭)视频。我使用MPMoviePlayerController
播放视频,并使用AVAudioPlayer
播放mp3。有没有办法做到这一点?如何使用AVAudioPlayer播放MP3时静音视频
1
A
回答
0
我选择回答我自己的问题:@nickbona答案很好,但它没有简单的示例代码。 所以解决方案是使用AVPlayer而不是MPMoviePlayerController。
所以我在这里有一个简单的源代码,例如,如果有人需要它:
//init player
AVAsset *asset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"yourfile" ofType:@"mp4"]] options:nil];
AVPlayerItem *anItem = [AVPlayerItem playerItemWithAsset:asset];
AVPlayer *myPlayerController = [AVPlayer playerWithPlayerItem:anItem];
//disable audio (this is the version when you have more than one video in the playlist: i write this version so it should be more useful)
NSArray *playerTracks = [asset tracksWithMediaType:AVMediaTypeAudio];
NSMutableArray *playerParams = [NSMutableArray array];
for (AVAssetTrack *track in playerTracks) {
AVMutableAudioMixInputParameters *audioInputParams = [AVMutableAudioMixInputParameters audioMixInputParameters];
[audioInputParams setVolume:0.0 atTime:kCMTimeZero];
[audioInputParams setTrackID:[track trackID]];
[playerParams addObject:audioInputParams];
}
AVMutableAudioMix *muteAudioMix = [AVMutableAudioMix audioMix];
[muteAudioMix setInputParameters:playerParams];
[[myPlayerController currentItem] setAudioMix:muteAudioMix];
希望它可以帮助。
0
0
你实际上可以使用MPMusicPlayerController
来实现你的目标。
- (void)muteVidepPlayer:(BOOL)muteFlag
{
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
if (muteFlag)
{
self.lastVolume = musicPlayer.volume;
[musicPlayer setVolume:0.0f];
}
else
{
[musicPlayer setVolume:self.lastVolume];
}
}
它做了什么,它使用了一个MPMusicPlayerController
的实例,它允许您调整音量。不要太困惑,这也会有效调整您的MPMoviePlayerController
实例的音量。这是因为MPMoviePlayerController
和MPMusicPlayerController都使用应用音频会话(默认情况下)。
为了确保您能够将音量重置为以前的设置,此方法会尝试将该值存储在您的回放控制器/视图控制器/任何类型的实例变量float
(self.lastVolume
)中。
相关问题
- 1. 如何使用AVAudioPlayer更新播放音频的播放时间使用AVAudioPlayer
- 2. AVAudioPlayer不播放MP3音效
- 3. 使用AVAudioPlayer播放音频时出错
- 4. 如何在iPod仍在播放音频时将视频静音?
- 5. AVAudioPlayer不播放音频
- 6. AVAudioPlayer不播放MP3?
- 7. 如何播放两个mp3音频?
- 8. 如何使用声音播放视频
- 9. 当MPMoviePlayer播放时,AVAudioPlayer在静音模式下播放
- 10. 如何在播放音频文件mp3时使MediaElement可见?
- 11. AVAudioPlayer不播放我的MP3
- 12. AVAudioPlayer不播放MP3文件
- 13. 录音和播放MP3音频
- 14. 如何在播放时将.swf视频静音?
- 15. HTML5视频静音但仍然播放
- 16. Dailymotion视频自动播放和静音
- 17. 如何使用php播放mp3音乐?
- 18. 使用音频播放视频后录制音频和视频
- 19. 使用声音静音播放Flash视频的标记?
- 20. AVAudioPlayer不会为一个mp3播放音频,但会为其他人播放音频吗?
- 21. 如何在播放中播放音频mp3文件
- 22. 使用AVAudioPlayer播放音频文件和来电中断播放时iPhone崩溃
- 23. 使用AVAudioPlayer播放声音后恢复背景音频
- 24. 使用html5播放视频和音频?
- 25. 如何运行自动播放视频并将声音静音?
- 26. 如何用AVAudioPlayer播放声音?
- 27. 如何播放音频或视频ParcelFileDescriptor
- 28. 如何播放YouTube视频的音频?
- 29. 如何在iPhone的静音模式下使用AVAudioPlayer播放声音
- 30. 如何让用户选择AVAudioPlayer播放音频的循环数
@nickbona:谢谢,我试图用AVPlayer替换MPMoviePlayerController:有什么方法可以找到AVPlayer正在播放的当前视频文件名?我无法找到它。 – Caio 2013-03-23 10:14:20
(视频是本地的[这是进入应用程序捆绑]:我也想避免使用元数据[以防视频可能]) – Caio 2013-03-23 10:24:09