2016-12-02 2 views
3

J'essaie de jouer une vidéo sur mon téléviseur en utilisant le cadre de chromecasting fourni. The approach i followed pour jouer un mp4 fonctionne très bien. Mais maintenant j'ai une source différente à jouer. J'ai un fichier vidéo pointé par le fichier m3u8 placé sur mon serveur. Donc, pour lire un fichier m3u8 sur un téléviseur, j'utilise l'objet MediaInfo suivant avec des variantes pour content-type mentioned here. Le mediaobject je suis de retour est: `Casting m3u8 fichier de l'application android

return new MediaInfo.Builder(Uri.parse(path).toString()) 
      .setStreamType(MediaInfo.STREAM_TYPE_LIVE) 
      .setContentType("videos/mp4") //need to know **what should be content-type here** 
      .setMetadata(movieMetadata) 
      .setStreamDuration(mSelectedMedia.getData().getDuration() * 1000) 
      .build(); 

S'il vous plaît me guide pour la lecture du fichier m3u8 sur mon Chromecast ou à la télévision. Merci

Répondre

3

Tout d'abord, je ne vois pas quel problème vous rencontrez; toujours inclure cela dans votre message afin que vous puissiez obtenir une meilleure réponse. Sur la base de la description que vous avez fournie, il semble que vous lancez une playlist pointant sur certains fichiers; Si tel est le cas, vous ne devez pas définir le type de flux sur le flux en direct, mais plutôt utiliser le type mis en mémoire tampon (comme ce que vous feriez pour un simple mp4). Deuxièmement, quel récepteur utilisez-vous? Votre récepteur devrait être capable de gérer la playlist m3u8. Si vous utilisez un récepteur stylé ou par défaut (ou utilisez le récepteur de référence de notre repo GitHub, alors vous devriez vous débrouiller.) Enfin, assurez-vous que vous utilisez https pour les flux vidéos (pour les playlists, c'est nécessaire) et que votre serveur soutient des en-têtes CORS.

+0

Ali merci pour votre réponse précieuse, pouvez-vous s'il vous plaît en savoir un peu plus sur Receiver.Je n'arrive pas au point où je peux jouer avec mon appareil Receiver.Pas sûr que je dois écrire application séparée puis comment puis-je le déboguer sur mon appareil Chromecast? – Safeer

+0

Vous pouvez consulter le https://developers.google.com/cast/docs/developers pour vous faire une idée de l'architecture globale et savoir quels composants sont nécessaires pour créer une application. vous avez besoin d'une application d'expéditeur (l'application Android que vous avez écrite) et d'une application de récepteur (en javascript) qui fonctionne sur Chromecast. Au lieu d'écrire votre propre récepteur, vous pouvez en utiliser un que Google fournit. Les détails peuvent être trouvés dans le lien que j'ai mentionné plus tôt. –

+0

Naddaf Je suis d'accord avec l'application du récepteur par défaut (je ne fais rien sur l'appareil chromecast), donc ne pas intervenir dans cela. Alors pouvez-vous s'il vous plaît dire comment puis-je lire la vidéo de ce type dans la TV: "https://livestreamapis.com/v2/accounts/xxx/events/xxx/videos/143141167.m3u8?token=xxx×tamp=xxx&client_id=xxx " où tous les x représentent des entiers. – Safeer

1

Comme le suggère @naddaf problème était avec CORS. donc, je simplement ajouté mes domaines (gstatic.com et un autre dans mon cas) sur le serveur d'où je reçois des demandes de mes médias. Et tout a commencé à fonctionner parfaitement