问题
I am having trouble with setting the track id when i set up my input parameters for my audioMix. How do i set the trackId? I have tried it this way also params.trackID(track2.trackID) but that gives me this error CMPersistantTrackID -> $T4 is not identical to CMPersistantTrackID
. I am trying to translate this line [audioInputParams setTrackID:[track trackID]];
from https://developer.apple.com/library/ios/qa/qa1716/_index.html
Error When i run code below:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM trackID]: unrecognized selector sent to instance 0x7f98c34cbfc0'
Code:
let type = AVMediaTypeAudio
let asset1 = AVURLAsset(URL: beatLocationURL, options: nil)
let arr2 = asset1.tracksWithMediaType(type)
let track2 = arr2.last as AVAssetTrack
let asset = AVURLAsset(URL: vocalURL, options:nil)
let arr3 = asset.tracksWithMediaType(type)
let track3 = arr3.last as AVAssetTrack
var trackParams = NSMutableArray()
let params = AVMutableAudioMixInputParameters(track:track2)
params.setVolume(0.0, atTime:kCMTimeZero)
params.trackID = track2.trackID <--- this line
trackParams.addObject(params)
let params1 = AVMutableAudioMixInputParameters(track:track3)
params1.setVolume(1.0, atTime: kCMTimeZero)
params1.trackID = track3.trackID <-- this line also
trackParams.addObject(params1)
let mix = AVMutableAudioMix()
mix.inputParameters = [trackParams]
来源:https://stackoverflow.com/questions/27165480/setting-track-id