2014-02-09 1 views
2

Я пытаюсь заставить приложение-хром отправителя отправлять метаданные в приложение медиа-ресивера по умолчанию, но медиа-ресивер по умолчанию не показывает метаданные. Я не могу найти документацию или примеры. Кто-нибудь знает, как это реализовать? Ниже кода воспроизводится звук, но плеер не показывает изображения или другие метаданные.Google cast: Как показать метаданные в медиаплеере по умолчанию?

Initialization:

var sessionRequest = new chrome.cast.SessionRequest(chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID); 
    var apiConfig = new chrome.cast.ApiConfig(sessionRequest, 
    sessionListener, 
    receiverListener); 
    chrome.cast.initialize(apiConfig, onInitSuccess, onError); 
    chrome.cast.requestSession(onRequestSessionSuccess, onLaunchError); 

...

Загрузка носителя

url = "url-to-media" 
var mediaInfo = new chrome.cast.media.MediaInfo(url, 'audio/aac'); 
mediaInfo.metadata = new chrome.cast.media.MusicTrackMediaMetadata() 
mediaInfo.metadata.albumName = 'This is the name of the album' 
mediaInfo.metadata.artistName = 'This is the name of the artist' 
mediaInfo.metadata.songName = 'This is the name of the song' 
im = chrome.cast.Image('http://m1.behance.net/rendition/modules/575407/disp/822271229466847.png') 
mediaInfo.metadata.images = new Array(im) 
var request = new chrome.cast.media.LoadRequest(mediaInfo); 
session.loadMedia(request,onMediaDiscovered.bind(this, 'loadMedia'), onMediaError()) 

ответ

4

Попробуйте это -

mediaInfo.metadata.title = 'This is the name of the song'; 
mediaInfo.metadata.subtitle = 'This is the name of the artist'; 
+0

Спасибо! Знаете ли вы, что это где-то зарегистрировано? –

+0

И есть ли способ получить мультимедийные изображения на приемнике по умолчанию? –

+1

Для изображений попробуйте это - 'var image = new chrome.cast.Image (imageUrl); mediaInfo.metadata.images = [image]; 'Найдено здесь [https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.GenericMediaMetadata] –

1

В настоящее время приложение медиаприемника по умолчанию принимает определенные поля метаданных. Подробные спецификации приведены здесь: https://developers.google.com/cast/docs/reference/messages.

Для типа MusicTrackMediaMetaData обязательно установите для metadataType значение 3. Создается следующий фрагмент.

mediaInfo.metadata = new chrome.cast.media.MusicTrackMediaMetadata() 
mediaInfo.metadata.metadataType = 3; 
mediaInfo.metadata.title = 'This is the name of the title'; 
mediaInfo.metadata.albumArtist = 'This is the name of the album artist'; 
mediaInfo.metadata.artist = 'This is the name of the artist'; 
mediaInfo.metadata.albumName = 'This is the name of the album'; 
//mediaInfo.metadata.composer = 'composer'; 
//mediaInfo.metadata.trackNumber = 13; 
//mediaInfo.metadata.discNumber = 2; 
mediaInfo.metadata.releaseDate = '2011'; 
mediaInfo.metadata.images = [{'url': 'http://m1.behance.net/rendition/modules/575407/disp/822271229466847.png'}];    
var request = new chrome.cast.media.LoadRequest(mediaInfo); 
session.loadMedia(request, onMediaDiscovered.bind(this, 'loadMedia'), onMediaError()); 

Исправлена ​​ошибка, связанная с несоответствием между SDK для Chrome Sender и получателем по умолчанию.

Вы всегда можете сделать свое собственное приложение-получатель и добавить свои собственные пользовательские данные, как показано ниже.

var mediaInfo = new chrome.cast.media.MediaInfo(url, 'audio/mp3'); 
var request = new chrome.cast.media.LoadRequest(mediaInfo); 
var payload = { 
    "albumName": 'This is the name of the album', 
    "songName": 'This is the name of the song', 
    "thumb": 'http://m1.behance.net/rendition/modules/575407/disp/822271229466847.png', 
    "artistName": 'This is the name of the artist' 
}; 
var json = { 
    "payload": payload 
}; 
request.customData = json; 
+0

У вас есть ссылка на отчет об ошибке? Не удалось найти его в трекере google-cast-sdk. –

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

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