मेरे पास एक AVURLASSet है जिसमें कई AVAssetTracks प्रकार ऑडियो हैं। मैं बटन को स्पर्श करके उपयोगकर्ता को इन अलग-अलग ऑडियो ट्रैक के बीच स्विच करने की अनुमति देना चाहता हूं। यह 1 ट्रैक की मात्रा को चालू और बंद करने के लिए काम कर रहा है लेकिन वॉल्यूम 1.0 पर सेट होने पर अन्य ट्रैक नहीं सुनाए जाते हैं।AVURLAsset के लिए ऑडियो ट्रैक को स्विच करें ऑडियो के विभिन्न AVAssetTracks के साथ
यहां ट्रैक की मात्रा समायोजित करने के लिए कोड है (प्रेषक ऑडियोट्रैक में संपत्ति के सूचकांक में टैग सेट के साथ एक UIButton है)।
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];
क्या मुझे वांछित ट्रैक को सक्रिय होने के लिए कुछ करने की ज़रूरत है?
बहुत बहुत धन्यवाद! इससे काफी मदद मिली! –
धन्यवाद, धन्यवाद, धन्यवाद! यह बहुत उपयोगी था! –