Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 设置轨道ID_Ios_Swift_Avplayer - Fatal编程技术网

Ios 设置轨道ID

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

当我为audioMix设置输入参数时,设置曲目id时遇到问题。如何设置trackId?我也用这种方法尝试过params.trackID(track2.trackID),但这会导致此错误
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]