Ios 设置轨道ID
当我为audioMix设置输入参数时,设置曲目id时遇到问题。如何设置trackId?我也用这种方法尝试过params.trackID(track2.trackID),但这会导致此错误Ios 设置轨道ID,ios,swift,avplayer,Ios,Swift,Avplayer,当我为audioMix设置输入参数时,设置曲目id时遇到问题。如何设置trackId?我也用这种方法尝试过params.trackID(track2.trackID),但这会导致此错误cmpersistantrackId->$T4与cmpersistantrackId不同。我正在尝试翻译这一行[audioInputParams setTrackID:[track trackID]]来自 运行以下代码时出错: Terminating app due to uncaught exception 'N
cmpersistantrackId->$T4与cmpersistantrackId
不同。我正在尝试翻译这一行[audioInputParams setTrackID:[track trackID]]代码>来自
运行以下代码时出错:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM trackID]: unrecognized selector sent to instance 0x7f98c34cbfc0'
代码:
let type=AVMediaTypeAudio
让asset1=avurlaste(URL:beatLocationURL,选项:nil)
设arr2=asset1.tracksWithMediaType(类型)
让track2=arr2.last作为一个assettrack
let asset=avurlaste(URL:vocalURL,选项:nil)
设arr3=asset.tracksWithMediaType(类型)
让track3=arr3.last作为一个assettrack
var trackParams=NSMutableArray()
设params=AVMutableAudioMixInputParameters(曲目:track2)
参数setVolume(0.0,时间:kCMTimeZero)
params.trackID=track2.trackID我想知道objective-c代码在哪里你需要那行代码吗?由于您要在AVMutableAudioMixInputParameters的构造函数中传递轨迹,因此必须设置trackID似乎是多余的。我会试着删除这条线,看看会发生什么。这是我的想法,但我仍然得到相同的错误
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]