xamarin - XamarinMediaManager:在 CrossMediaManager 中更改 MediaQueue 的 CurrentPosition
问题描述
我在 Xamarin Forms 应用程序中使用 XamarinMediaManager ( https://github.com/martijn00/XamarinMediaManager ) 并想设置我的 MediaQueue 的 CurrentPosition。因此,假设我有一个包含音频文件 A、B 和 C 的播放列表,但不是从播放音频文件 A 开始,而是从 B 开始。所以我可以执行上一个,然后播放 A。
我确实设置了 MediaQueue 的 CurrentPosition(请参阅选项 1 和选项 2),但两者似乎都没有效果或在媒体播放器启动后被重置。
示例选项 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();
解决方案
根据此处的文档: https://github.com/Baseflow/XamarinMediaManager,您需要调用:
await CrossMediaManager.Current.PlayQueueItem(int index);
推荐阅读
- git - 在不使用桌面软件的情况下在线执行 Git 命令(基于 Web 的终端/控制台)?
- python - 尝试发送带有希腊文件名的文件时出现 UnicodeError
- python - 使用逻辑回归的泰坦尼克号机器学习问题
- c++ - Qt Model-View 自定义委托不起作用
- c# - 单元测试:program.cs Main 中的 try 语句
- python - 如何将乌尔都语字符保存在 csv 文件中?
- regex - bash比较正则表达式而不是变量
- python - 无法在 Python 中打开文件。SyntaxError:行继续字符后出现意外字符
- r - 如果安装程序不起作用,您如何更新 R 版本?
- scala - 为什么我无法访问对象的属性