XamarinMediaManager:在CrossMediaManager中更改MediaQueue的当前位置

问题描述 投票:0回答:1

我在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();
xamarin
1个回答
0
投票

根据此处的文档:https://github.com/Baseflow/XamarinMediaManager,您需要致电:await CrossMediaManager.Current.PlayQueueItem(int index);

© www.soinside.com 2019 - 2024. All rights reserved.