Переключатель аудио TRAKCS для Avurlasset с несколькими авасцеттераками типа аудио

У меня есть аскурлассет с несколькими авасцеттераками типа аудио. Я хотел бы иметь возможность разрешить пользователю переключаться между этими разными звуковыми дорожками, касаясь кнопки. Он работает над тем, чтобы повернуть объем 1-го трека и выключения, но другие треки не слышат, когда объем настроен на 1.0.

Вот код для регулировки громкости дорожек (отправитель - это Uibutton с тегом, установленным на индекс актива в Audiotracks).

AVURLAsset *asset = (AVURLAsset*)[[player currentItem] asset];
NSArray *audioTracks = [asset tracksWithMediaType:AVMediaTypeAudio];


NSMutableArray *allAudioParams = [NSMutableArray array];
int i = 0;
NSLog(@"%@", audioTracks);
for (AVAssetTrack *track in audioTracks) {
    AVMutableAudioMixInputParameters *audioInputParams =    [AVMutableAudioMixInputParameters audioMixInputParameters];
    float volume = i == sender.tag ? 1.0 : 0.0;
    [audioInputParams setVolume:volume atTime:kCMTimeZero];
    [audioInputParams setTrackID:[track trackID]];
    [allAudioParams addObject:audioInputParams];
    i++;
}
AVMutableAudioMix *audioZeroMix = [AVMutableAudioMix audioMix];
[audioZeroMix setInputParameters:allAudioParams];

[[player currentItem] setAudioMix:audioZeroMix];

Мне нужно сделать что-то, чтобы принести желаемый путь быть активным?

6
задан tiltem 12 September 2011 в 18:21
поделиться