Я пытаюсь добавить список интервью в AVQueuePlayer в Xamarin.iOS, и это работает для меня. Однако мне нужно иметь возможность получить некоторые свойства из класса, который я использую для создания AVPlayerItems.
Мой класс интервью:
public class Interview
{
public int Id { get; set; }
public Topic Topic { get; set; }
public Person Person { get; set; }
public string VideoURL { get; set; }
public int AudioID { get; set; }
public Interview ()
{
}
public Interview (int id, Topic t, Person p, string videoUrl, int audioId)
{
Id = id;
Topic = t;
Person = p;
VideoURL = videoUrl;
AudioID = audioId;
}
У меня есть метод в моем PlayerClass, который выглядит так:
void AudioPlayWithAVQueuePlayer ()
{
Console.WriteLine ("AVPlayer");
var center = NSNotificationCenter.DefaultCenter;
//int pointer = 0;
List<AVPlayerItem> playeritems = new List<AVPlayerItem>();
foreach (Interview i in appDelegate.currentlyPlaying.Interviews) {
AVAsset _asset;
AVPlayerItem _playerItem;
_asset = AVAsset.FromUrl (new NSUrl ("https://api.soundcloud.com/tracks/" + i.AudioID + "/stream?client_id=clientID&oauth_token=token"));
_playerItem = new AVPlayerItem (_asset);
playeritems.Add (_playerItem);
}
appDelegate.avPlayer = new AVQueuePlayer (playeritems.ToArray());
appDelegate.avPlayer.Play ();
}
}
Это будет отлично воспроизводить мои аудиофайлы (хранящиеся в SoundCloud), но мне нужно обновить некоторые метки с помощью Interview.Person.PersonName и Interview.Topic.TopicName. Есть ли способ получить доступ к этим свойствам после того, как я создал AVPlayerItem из AudioID в интервью? Единственное, что мне удалось найти, это метаданные, но мои аудиофайлы не содержат никаких метаданных.