4

AVPlayer について質問があります。

1.音量の調節方法は?

2.接続が悪いために AVPlayer が音楽をリロードしているかどうかを知るにはどうすればよいですか?

4

1 に答える 1

7

AVPlayerはシステム ボリュームを使用するため、これを制御する必要がある場合はMPVolumeView、ボリューム コントロール用のスライダーを使用できます。

オーディオのフェードには、AVAudioMix. ここにいくつかのコードがあります:

//given an AVAsset called asset...
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];
id audioMix = [[AVAudioMix alloc] init];
id volumeMixInput = [[AVMutableAudioMixInputParameters alloc] init];

//fade volume from muted to full over a period of 3 seconds
[volumeMixInput setVolumeRampFromStartVolume:0 toEndVolume:1 timeRange:
     CMTimeRangeMake(CMTimeMakeWithSeconds(0, 1), CMTimeMakeWithSeconds(3, 1))];
[volumeMixnput setTrackID:[[asset tracks:objectAtIndex:0] trackID]];

[audioMix setInputParameters:[NSArray arrayWithObject:volumeMixInput]];
[playerItem setAudioMix:audioMix];

次のコマンドを使用して、特定の時間にミックスのボリュームを突然設定することもできます。

[volumeMixInput setVolume:.5 atTime:CMTimeMakeWithSeconds(15, 1)];

お役に立てれば。この API は明らかではありません。Discovering AV Foundationというタイトルの WWDC 10 ビデオを見ることを強くお勧めします。素晴らしいです。

于 2011-06-24T20:58:49.567 に答える