Read MP3 Tags with Silverlightで id3 タグの読み取りを開始しましたが、taglib# オンラインでローカル ファイル パスを処理していることに気付きました。
この情報をリモートファイルから読み取る方法はありますか?
Read MP3 Tags with Silverlightで id3 タグの読み取りを開始しましたが、taglib# オンラインでローカル ファイル パスを処理していることに気付きました。
この情報をリモートファイルから読み取る方法はありますか?
私は最近、Ruby について同じ質問に答えました (以下を参照)。同様のことができると確信しています。
アイデアは次のとおりです。
HTTP 1.1 以上のプロトコルと Range HTTP リクエストを使用します。
ID3v2 タグの最初のセクション (100 バイト) をダウンロードします。
ダウンロードされた最初の数バイトから、完全な ID3v2 タグの正しい長さを判断できます (例: N)。
ファイルの最初の N バイトをダウンロードします (例: 完全な ID3v2 タグ)
目的に合わせて ID3v2 タグを解析します
見る:
Tim Heuerには、これを行うための優れたブログ投稿があります。http://timheuer.com/blog/archive/2010/01/30/reading-mp3-id3-tags-with-silverlight-taglib.aspx
あなたと同じように、彼もローカルパスのみを使用するTabLib#の問題に遭遇しました。
TagLib#になかったことの1つは、ストリーム入力の実装でした。実際、ほとんどのライブラリはローカルファイルパスを想定しています。幸い、ライブラリは一般的な「ファイル」インターフェイスを使用して作成されていたため、独自のStreamFileAbstractionを作成する必要がありました。ベースライブラリではなく、プロジェクト内でこれを行うことを選択しました。LocalFileAbstractionは、最初のタスクとしてファイルに対してOpenを実行し、いくつかのパブリック変数を設定したため、簡単でした。私の抽象化は基本的に、すでにストリームを渡して準備ができているだけです。
ファイルの抽象化を使用するノベルのサイトに例があります。http://developer.novell.com/wiki/index.php/TagLib_Sharp:_Examples