在三星智能电视上播放声音

Ene*_*nes 9 javascript samsung-smart-tv

我正在为三星智能电视开发一款简单的游戏.当某些事情发生时,我想播放一些声音文件,如准备好,赢,输.我不想处理flash播放器,播放器控件..有没有办法使用javascript触发具有预定义音量的播放声音动作,并且我想在我的代码中多次这样做.

Ada*_*zyk 8

您需要将玩家对象(SAMSUNG-INFOLINK-PLAYER)添加到您的<body>标记中:

<object id="pluginPlayer" style="visibility: hidden; width: 0px; height: 0px; opacity: 0.0" classid="clsid:SAMSUNG-INFOLINK-PLAYER"></object>
Run Code Online (Sandbox Code Playgroud)

然后在应用程序的JavaScript中使用此功能:

var playerObj = document.getElementById('pluginPlayer');
playerObj.Play("absolute_url_to_your_mp3");
Run Code Online (Sandbox Code Playgroud)

由于Player插件在Samsung文件系统内的不同位置执行,因此您需要始终使用文件的绝对路径.它可以是远程的,但您可以使用location.href您的应用程序index.html来获取应用程序工作目录的绝对本地路径,您可以在其中放置mp3.

查看文档,此处:

http://www.samsungdforum.com/Guide/View/Developer_Documentation/Samsung_SmartTV_Developer_Documentation_2.5/API_Reference/JavaScript_APIs/Device_API/Player


Jor*_*sys 5

这是我的解决方案:

添加到index.html文件

<body>
    <object id="pluginPlayer" border=0    classid="clsid:SAMSUNG-INFOLINK-PLAYER">
...
...
...
</body>
Run Code Online (Sandbox Code Playgroud)

在我的.js文件Scene1.js中

SceneScene1.prototype.initialize = function () {
var Player = document.getElementById('pluginPlayer');
var retVal=Player.Play("http://mysite.com/android/smartTV/little_wing.mp3");
...
...
...
}   
Run Code Online (Sandbox Code Playgroud)