如何以编程方式将 iPhone 中的实时流媒体视频静音

Posted

技术标签:

【中文标题】如何以编程方式将 iPhone 中的实时流媒体视频静音【英文标题】:How to programmatically mute live streaming video in iPhone 【发布时间】:2013-04-03 09:55:38 【问题描述】:

我正在使用 AVPlayer 在 iPhone 中播放实时流媒体视频。我想关闭播放器的音量(以编程方式)。我试过这个http://developer.apple.com/library/ios/#qa/qa1716/_index.html。但它不适用于我的情况。

AVURLAsset *asset = [AVURLAsset URLAssetWithURL:[self myAssetURL] options:nil];
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];

// Mute all the audio tracks
NSMutableArray *allAudioParams = [NSMutableArray array];
for (AVAssetTrack *track in audioTracks) 
    AVMutableAudioMixInputParameters *audioInputParams =[AVMutableAudioMixInputParameters audioMixInputParameters];
    [audioInputParams setVolume:0.0 atTime:kCMTimeZero];
    [audioInputParams setTrackID:[track trackID]];
    [allAudioParams addObject:audioInputParams];

AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];

// Create a player item
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];
[playerItem setAudioMix:audioZeroMix]; // Mute the player item

// Create a new Player, and set the player to use the player item 
// with the muted audio mix
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];

// assign player object to an instance variable
self.mPlayer = player;

// play the muted audio
[mPlayer play];

请为此提出任何解决方案。 谢谢

【问题讨论】:

到目前为止你做了什么?给我们看一些代码 我觉得你运气不好。请see this SO post 我相信没有选项可以在直播中将视频静音。到目前为止我知道。您可以使用 MPMoviePlayerController 中的音量控件来执行此功能。 【参考方案1】:

您可以使用 MPVolumeView 类,在 [此处] 可用。它有一个音量控制滑块,也适用于 HTTP Live Streams。(http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPVolumeView_Class/Reference/Reference.html)

【讨论】:

以上是关于如何以编程方式将 iPhone 中的实时流媒体视频静音的主要内容,如果未能解决你的问题,请参考以下文章

Weborb 可以用于通过媒体服务器从 iPhone 进行实时视频流吗?

如何从互联网下载音频/视频文件并存储在 iPhone 应用程序中?

iPhone 实时视频聊天和 HTTP 实时流媒体

如何以编程方式检查视频或音频文件格式是不是可以在 iPhone 中播放?

将 iPhone 摄像头实时流式传输到媒体服务器的最佳方式是啥?

如何将实时直播链接到视频点播?