2

chrome.getMediaGalleries APIを使用して、ユーザーのデバイス上のメディアギャラリーを一覧表示しようとしています。それはitem.name部分までまさに動作します。chrome.mediaGalleries APIを使用してユーザーのギャラリーの名前を取得する

JSON.parseを使用しているGoogle Developers youtubeチャンネルからvideoを視聴しました。ただし、予期される通りUncaught SyntaxError: Unexpected token c in JSON at position 0がスローされます。 JSONではありません。

私の質問は、人間が読める(ビデオ、音楽など)を取得する方法です。ここに私のコードは、これまでのところです:

getGalleriesInfo(/*Array of DOMFileSystem objects*/ results) { 

    if (!results.length) 
     return console.log('No galleries found'); 

    console.log('Gallery count: ' + results.length); 

    results.forEach((item, index) => { 
     let gallery = item.name;// JSON.parse(item.name) doesn't work 
     console.log(index, ' => ', gallery); // 0 => chrome-extension_hmnfbbnkjlgjgmlgpacnkkndfidbejpo_0:External_media_galleries-Default-hmnfbbnkjlgjgmlgpacnkkndfidbejpo-1, etc. 
    }); 
} 

// I'm using a custom element (document.registerElement) 
createdCallback() { 
    chrome.mediaGalleries.getMediaFileSystems({ 
     interactive: 'if_needed' 
    }, this.getGalleriesInfo); 
} 

おかげで、
ジャスティン

EDIT:クロームデバッガビューitem Chrome debugger view http://jtprogramming.com/screen.png

+0

関数内にブレークポイントを設定すると、デバッガで表示される 'item'の値は何ですか?つまり、DOMFileSystem APIはJSONベースではないので、ビデオのコードは意味をなさない。 – wOxxOm

+0

@wOxxOm私は迷っています。私の目標を達成する方法がないと言っていますか? Chromeのドキュメントでは、iTunesギャラリー、動画などへのアクセスについて話しています。どのように区別するのですか? –

+0

@wOxxOm私はまだ分かっていないことは何も見ていないが、私はクロムのデバッガにあまり馴染んでいないので、何かが足りないかもしれない。私はソースパネルの質問にアイテムをブレークポイントで入れた画像を添付しました –

答えて

2

chrome.getMediaGalleries APIが変更されたようです。特定のギャラリーの名前を見つけるには、getMediaFileSystemMetadataメソッドを使用する必要があります。

_getGalleriesInfo(results) { 

    if (!results.length) 
     return console.log('No galleries found'); 

    console.log('Gallery count: ' + results.length); 

    results.forEach((item, index) => { 
     console.log(chrome.mediaGalleries.getMediaFileSystemMetadata(item)); 
    }); 
} 

DOMFileSystemのメタデータを持つオブジェクトを返します。

Object { 
    galleryId: (string) int, 
    isAvailable: boolean, 
    isMediaDevice: boolean, 
    isRemovable: boolean, 
    name: "C:\example\path\to\gallery" 
} 
関連する問題