2013-06-10 2 views
1

Я пытаюсь заставить JW Player работать внутри Meteor.js. Я пробовал как облачный хостинг, так и сам, и не смог показать игроку. Я не уверен, есть ли конфликт, с которым они связаны. Кажется, что это должно быть довольно прямолинейно, но я просто не могу заставить его работать. Любые предложения были бы замечательными.JW Player не работает с Meteor.js

Благодаря

<head> 
<title>Mysite</title> 

<script src="http://jwpsrv.com/library/mytoken.js"></script> 
</head> 
<body> 
    <div id='my-video'></div> 
    <script type='text/javascript'> 
    jwplayer('my-video').setup({ 
     file: 'http://localhost:3000/mymp3.mp3', 
     width: '640', 
     height: '360' 
    }); 
    </script> 

</body> 

Вот сообщение об ошибке, что я получаю:

Ресурс интерпретируется как изображение, но передаются с MIME тип текста/html: "http://167.206.59.228/2-2573/a348fe94-6cbf-458f-8d56-8b69e6091c42_25.152.50.88/5.2.992971814237535". 167.206.59.228/:1

Request URL:http://167.206.59.228/2-2573/ec00f5c8-61a2-493b-a2e6-943f52ac381f_25.152.26.118/5.2.5313433578703552 Request Method:GET Status Code:200 OK Request Headersview source Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Host:167.206.59.228 Referer:http://localhost:3000/ User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 Response Headersview parsed HTTP/1.1 200 OK Server: PorchLight/6.0.20061.1302 Content-Type: text/html; charset=utf-8 Connection: Close Content-Length: 1

+0

Просьба указать ссылку, если возможно? – emaxsaun

+0

Я хостинг на локальном хосте на Mac. – rjsandman18

+0

Можете ли вы что-то наделать? На самом деле трудно сказать без этого. – emaxsaun

ответ

1

Метеор делает вещи по-другому, чем вы ожидали. Есть способ Метеор построить то, что вы хотите. Я построил рабочую демонстрацию на основе вашего кода: https://github.com/michaelbishop/so-jwplayer

Позвольте мне попытаться объяснить шаг за шагом, что я изменил.

Метеор действительно любит шаблоны. Для того, чтобы сделать это так, как метеор, переместить видео DIV <div id='my-video'></div> в шаблон:

<template name="video"> 
    <div id='my-video'></div> 
</template> 

Это позволяет работать на шаблоне и делать такие вещи, как события установки или запуска JavaScript.

Затем переместите код игрока в файл с расширением .js:

jwplayer('my-video').setup({ 
    file: 'http://localhost:3000/mymp3.mp3', 
    width: '640', 
    height: '360' 
}); 

Вы хотите код видеоплеер действовать на шаблоне после того, как страница была оказана и библиотека была загружается так:

Template.video.rendered = function() { 
    jwplayer('my-video').setup({ 
     file: 'http://localhost:3000/mymp3.mp3', 
     width: '640', 
     height: '360' 
    }); 
}; 

Существует также создан метод (Template.video.created), но это не будет работать, потому что страница еще не была загружена, и поэтому Javascript библиотека еще не загружена. Вам нужно, чтобы код установки jwplayer выполнялся после загрузки страницы и доступной библиотеки.

И, наконец, статические файлы, такие как mymp3.mp3, должны быть размещены в папке public. Я нашел mp3 с открытым исходным кодом и использовал это для примера.

Надеюсь, что это поможет! Удачи!

+0

Работал отлично !!! Спасибо, Майкл. – rjsandman18

+0

Просто заметьте, убедитесь, что вы «возвращаете» функцию 'jwplayer', чтобы она была введена в шаблон. Надеюсь, это поможет кому-то – supajb

+0

@supajp вы можете объяснить дальше? В документации нет ничего, что указывало бы на то, что: http://docs.meteor.com/#template_rendered – Michael

 Смежные вопросы

  • Нет связанных вопросов^_^