2012-04-04 12 views
9

Zajmuję się prostą grą na Samsung Smart TV. Chcę odtwarzać małe pliki dźwiękowe, gdy pewne rzeczy wydarzyły się jak gotowe, wygrane, przegrane. Nie chcę zajmować się odtwarzaczami flash, kontrolkami odtwarzacza. Czy istnieje sposób na użycie javascript do uruchomienia akcji dźwiękowej odtwarzania z predefiniowanym poziomem głośności i chcę to zrobić kilka razy w moim kodzie.odtwarzanie dźwięków na Samsung Smart TV

+0

Znacznik HTML5 audio, oczywista metoda "play". Bardziej zaawansowany: wczytaj go i nie uruchamiaj, zanim nie będzie to wymagane. – kirilloid

+0

Sam nie próbowałem, ale czytałem gdzieś, że smart tv nie obsługuje tagu audio html5. – Enes

Odpowiedz

8

Trzeba dodać obiekt Player (SAMSUNG-INFOLINK-PLAYER) do swojej <body> tagu:

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

a następnie w aplikacji javascript po prostu skorzystać z tej funkcji:

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

Jako plugin Gracz wykonuje w innym miejscu wewnątrz systemu plików Samsung zawsze potrzebujesz absolutnej ścieżki do pliku. Może to być zdalne, ale możesz użyć location.href swojej aplikacji index.html, aby uzyskać absolutną lokalną ścieżkę do katalogu roboczego aplikacji, w której możesz umieścić pliki mp3.

Sprawdź dokumentację tutaj:

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

5

to było moje rozwiązanie:

dodać do od index.html plików

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

wewnątrz moich js plik Scena1.js

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

używam wersji SDK 5.1 dla telewizorów 2013 i 2014 modelowych lat i mam następujący kod działa:

<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'); 

I ta alternatywa również działa (z użyciem lampy błyskowej):

<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> 

Podziękowania dla Dobiatowskiego!