我在Xamarin Forms应用程序中使用XamarinMediaManager(https://github.com/martijn00/XamarinMediaManager),并且想要设置MediaQueue的CurrentPosition。假设我有一个包含音频文件A,B和C的播放列表,但我不想从播放音频文件A开始,而是要从B开始。所以我可以执行上一个,然后播放A。
我确实设置了MediaQueue的CurrentPosition(请参阅选项1和选项2),但两者似乎都没有效果,或者在Mediaplayer启动后被重置了。
样本选项1
var media = new[]{
pathA,
pathB,
pathC,
};
await CrossMediaManager.Current.Play(media );
CrossMediaManager.Current.MediaQueue.CurrentIndex = 1;
样本选项2
var extractor = CrossMediaManager.Current.MediaExtractor
CrossMediaManager.Current.MediaQueue.Add(await extractor.CreateMediaItem(pathA));
CrossMediaManager.Current.MediaQueue.Add(await extractor.CreateMediaItem(pathB));
CrossMediaManager.Current.MediaQueue.Add(await extractor.CreateMediaItem(pathC));
CrossMediaManager.Current.MediaQueue.CurrentIndex = 1;
//与现有播放方法中的代码相同
var mediamanager = CrossMediaManager.Current as MediaManagerImplementation; mediamanager.MediaBrowserManager.MediaController.GetTransportControls().Prepare();
答案 0 :(得分:0)
根据此处的文档:https://github.com/Baseflow/XamarinMediaManager,您需要致电:
await CrossMediaManager.Current.PlayQueueItem(int index);