如何以帧而不是秒为单位显示当前媒体播放器位置 - UWP MediaPlayerElement
How to display current media player position in frames rather then seconds - UWP MediaPlayerElement
我在 UWP 应用中使用 MediaPlayerElement。我希望以帧而不是秒为单位转换 TimeElapsedElement 和 TimeRemainingElement 的显示值。
所以目前我收到的值是:hh:mm:ss:ff(ff 秒的分数)
我想要的值是:FFFFF(到目前为止经过的总帧数)或标准时间码值,例如 hh:mm:ss:FF(FF 是当前秒经过的帧数)
我似乎无法访问和修改 TimeElapsed 和 TimeRemaining 元素,但想知道这些值是否适合某种转换,即获取媒体播放的帧速率并将值转换为帧数。
或者,我想知道我是否可以使用 MediaPlayer.PlaybackSession.Position 创建我自己的以帧而不是秒为单位的变量并显示该值。我想已经发生了一些转换,它采用了加载媒体的帧率。
想知道您会推荐什么方法,是否可以为我指明在 c# 中进行时间到帧转换的任何资源的方向?感谢您提供的任何帮助!
目前MediaPlayerElement
没有提供多少帧的信息,时间是一个更通用的表达。
如果您需要获取当前通过的帧数,则需要进行一些计算:
Frame rate * Play time
如何获取帧率
List<string> videoProperties = new List<string>();
videoProperties.Add("System.Video.FrameRate");
IDictionary<string, object> retrieveProperties = await file.Properties.RetrievePropertiesAsync(videoProperties);
double frameRate = ((uint)retrieveProperties["System.Video.FrameRate"])/1000.0;
如何过帧
var sec = MyPlayer.MediaPlayer.PlaybackSession.Position.TotalSeconds;
var frameCounts = sec * frameRate;
大部分情况下是适用的,但只能作为参考值。因为有些视频的帧率不固定。
谢谢。
我在 UWP 应用中使用 MediaPlayerElement。我希望以帧而不是秒为单位转换 TimeElapsedElement 和 TimeRemainingElement 的显示值。
所以目前我收到的值是:hh:mm:ss:ff(ff 秒的分数)
我想要的值是:FFFFF(到目前为止经过的总帧数)或标准时间码值,例如 hh:mm:ss:FF(FF 是当前秒经过的帧数)
我似乎无法访问和修改 TimeElapsed 和 TimeRemaining 元素,但想知道这些值是否适合某种转换,即获取媒体播放的帧速率并将值转换为帧数。
或者,我想知道我是否可以使用 MediaPlayer.PlaybackSession.Position 创建我自己的以帧而不是秒为单位的变量并显示该值。我想已经发生了一些转换,它采用了加载媒体的帧率。
想知道您会推荐什么方法,是否可以为我指明在 c# 中进行时间到帧转换的任何资源的方向?感谢您提供的任何帮助!
目前MediaPlayerElement
没有提供多少帧的信息,时间是一个更通用的表达。
如果您需要获取当前通过的帧数,则需要进行一些计算:
Frame rate * Play time
如何获取帧率
List<string> videoProperties = new List<string>();
videoProperties.Add("System.Video.FrameRate");
IDictionary<string, object> retrieveProperties = await file.Properties.RetrievePropertiesAsync(videoProperties);
double frameRate = ((uint)retrieveProperties["System.Video.FrameRate"])/1000.0;
如何过帧
var sec = MyPlayer.MediaPlayer.PlaybackSession.Position.TotalSeconds;
var frameCounts = sec * frameRate;
大部分情况下是适用的,但只能作为参考值。因为有些视频的帧率不固定。
谢谢。