Я знаю, что этот вопрос во всем переполнении стека, но все же, большинство из них старые и не связаны с тем, что я собираюсь задать здесь.«AVPlayerItem не может быть связан с несколькими экземплярами AVPlayer»
Итак, у меня есть массив с AVPlayerItems
и AVQueuePlayer
. Сначала я поставил AVQueuePlayer воспроизведение элементов массива:
func mediaPicker(mediaPicker: MPMediaPickerController!, didPickMediaItems mediaItemCollection: MPMediaItemCollection!) {
mediaItems = mediaItemCollection.items
for thisItem in mediaItems as [MPMediaItem] {
var itemUrl = thisItem.valueForProperty(MPMediaItemPropertyAssetURL) as? NSURL
var playerItem = AVPlayerItem(URL: itemUrl)
mediaArray.append(playerItem)
}
updateMetadata()
audioPlayer = AVQueuePlayer(items: mediaArray)
self.dismissViewControllerAnimated(true, completion: nil)
}
Но, когда пользователь, например, добавляет новый элемент или удалить один, я попробуйте обновить плеер (так же, как я поставил его в первое место), но это дает мне ошибку. Я хочу знать, есть ли что-то в этом роде или любое решение. Это как пользователь удаляет песню:
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == UITableViewCellEditingStyle.Delete{
mediaArray.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
audioPlayer = AVQueuePlayer(items: mediaArray) //here gives the error
}
}
Я убиваю себя по этому поводу, так что, если кто-то может помочь мне, я был бы признателен.
Необходимо указать код. – rdelmar
извините, там –
Этого недостаточно кода. Вам нужно показать целые методы, а не только отдельные строки. Покажите также, что вы делаете, когда пользователь добавляет или удаляет элемент. – rdelmar