无法使用 Samsung AVPlay API 更改播放头位置

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

我有一个在 Samsung Smart TV Emulator v5.0 中运行的 typescript/javascript Tizen Web 应用程序。使用三星 AVPlay API。该网络应用程序播放来自 HDHomeRun 设备的 MPEG 流视频源。视频与声音完美播放。

问题是,播放头更改功能都不起作用。即

seek
jumpBackward
jumpForward
等。即使状态有效“正在播放、已暂停或已准备就绪”,它们都会给我相同的错误“InvalidStateError:PLAYER_ERROR_INVALID_STATE”。

这是一个代码片段:

var state = webapis.avplay.getState();
console.log("[Player][seekBackward] state: ", state);

webapis.avplay.jumpBackward(5000, success =>
{
    console.log("[Player][rewind][success]");
}, error =>
{
    console.error("[Player][seekBackward]", error);
});

这是我调用此命令时控制台中产生的错误:

有什么想法可以让

jumpBackward
和其他播放头功能正常工作吗?

javascript samsung-smart-tv tizen-web-app tizen-emulator
3个回答
0
投票

我查了一下: 使用 AVPlay wgt ,使用 URL [http://168.219.241.217/fileshare/AVPlayTest/WebAPITest/Basic/Youtube.mp4] ,seek 和 Jumpfw 功能工作正常。 但上面的网址是三星内部的,我认为在三星之外无法访问。

我没有遇到像你一样的问题,但根据我的经验,你应该检查:

  • 问题1,可能内容不同,可能与具体内容有关。 如果能使用播放内容的url和wgt就更好了,如果可以的话请附上。

0
投票

使用“await webapis.avplay.play()”确保后续代码在状态超出“READY”时运行


-1
投票
var state = webapis.avplay.getState();
console.log("[Player][seekBackward] state: ", state);

if (state == "PLAYING" || state == "PAUSED")
{
   webapis.avplay.jumpBackward(5000, success =>
   {
     console.log("[Player][rewind][success]");
   }, error =>
   {
    console.error("[Player][seekBackward]", error);
   });
}

试试这个,您必须在前进和后退媒体之前检查播放器状态(正在播放或暂停)。

可能对你有帮助。

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