playing sounds on samsung smart tv

℡╲_俬逩灬. 提交于 2019-12-04 19:06:10

问题


I am developing a simple game for samsung smart tv. I want to play little sound files when certain things happened like ready, win, lose. I don't want to deal with flash players, player controls .. Is there a way to use javascript to trigger a play sound action with a predefined sound volume and i nwant to do this several times in my code.


回答1:


You need to add player object (SAMSUNG-INFOLINK-PLAYER) into your <body> tag:

<object id="pluginPlayer" style="visibility: hidden; width: 0px; height: 0px; opacity: 0.0" classid="clsid:SAMSUNG-INFOLINK-PLAYER"></object>

And then in the app's javascript just use this function:

var playerObj = document.getElementById('pluginPlayer');
playerObj.Play("absolute_url_to_your_mp3");

As Player plugin executes in different location inside Samsung's filesystem you need always use absolute path to the file. It can be remote one, but you can use location.href of you app's index.html to get absolute local path of app's working directory where you can put the mp3s.

Check the documentation, here:

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




回答2:


this was my solution:

add to of index.html file

<body>
    <object id="pluginPlayer" border=0    classid="clsid:SAMSUNG-INFOLINK-PLAYER">
...
...
...
</body>

inside my .js file Scene1.js

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



回答3:


I use the SDK version 5.1 for TVs 2013 and 2014 model years and I have the following code works:

<object id="pluginPlayer" classid="clsid:SAMSUNG-INFOLINK-PLAYER"></object>

var playerObj = document.getElementById('pluginPlayer');
var fileName = location.pathname.substring(location.pathname.lastIndexOf("/") + 1);
playerObj.Play(document.location.href.split(fileName)[0] + 'test.mp3');

And this alternative also works (using Flash):

<div style="position:absolute; z-index:-1;">
    <object type="application/x-shockwave-flash" width="100" height="50" id="fplayer">
        <param name="movie" value="test.swf"/>
        <param name="quality" value="high"/>
        <param name="bgcolor" value="blue"/>
    </object>
</div>

And many thanks to Dobiatowski!



来源:https://stackoverflow.com/questions/10006593/playing-sounds-on-samsung-smart-tv

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!