2012-04-04 54 views
9

Tôi đang phát triển một trò chơi đơn giản cho TV thông minh samsung. Tôi muốn chơi các tập tin âm thanh nhỏ khi một số điều xảy ra như đã sẵn sàng, thắng, thua. Tôi không muốn để đối phó với người chơi flash, điều khiển máy nghe nhạc .. Có cách nào để sử dụng javascript để kích hoạt một hành động âm thanh chơi với một khối lượng âm thanh được xác định trước và tôi nwant để làm điều này nhiều lần trong mã của tôi.phát âm thanh trên TV thông minh samsung

+0

Thẻ âm thanh HTML5, phương pháp 'phát' rõ ràng. Nâng cao hơn: tải trước và không bắt đầu trước khi bắt buộc. – kirilloid

+0

Tôi đã không thử nó bản thân mình nhưng tôi đọc một nơi nào đó mà tv thông minh không hỗ trợ thẻ âm thanh của html5. – Enes

Trả lời

8

Bạn cần phải thêm đối tượng người chơi (SAMSUNG-INFOLINK-PLAYER) vào <body> tag của bạn:

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

Và sau đó trong javascript của ứng dụng chỉ cần sử dụng chức năng này:

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

Như Một Người Chơi Plugin thực hiện tại địa điểm khác nhau bên trong hệ thống tập tin của Samsung bạn cần luôn sử dụng đường dẫn tuyệt đối cho tệp. Nó có thể là điều khiển từ xa, nhưng bạn có thể sử dụng location.href trong số index.html của ứng dụng để có đường dẫn cục bộ tuyệt đối của thư mục làm việc của ứng dụng nơi bạn có thể đặt các tệp mp3.

Kiểm tra các tài liệu, ở đây:

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

5

này là giải pháp của tôi:

thêm vào của index.html tập tin

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

bên .js tôi nộp Scene1.js

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

tôi sử dụng phiên bản SDK 5.1 cho TV năm 2013 và 2014 năm mô hình và tôi đã đoạn mã sau hoạt động:

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

Và thay thế này cũng làm việc (sử dụng 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> 

Và cảm ơn nhiều Dobiatowski!

Các vấn đề liên quan