HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0624
大富豪Amp3に埋め込まれる画像10解決


大富豪A

リンク

2012/6/24(Sun) 20:28:04|NO.47352

mp3に埋め込まれる画像を取得できないでしょうか?



この記事に返信する


晩御飯

リンク

2012/6/24(Sun) 20:54:09|NO.47355

できます



KA

リンク

2012/6/24(Sun) 20:54:29|NO.47356

フォーマットを解析すれば可能でしょう。



大富豪A

リンク

2012/6/24(Sun) 21:21:40|NO.47357

mp3ファイルの中身を調べてみました。
ID3 作詞・作曲者 WMP9 年代 ファイル形式 画像の配列? とゆうふうに並んでいました。
画像の配列?(「・・リ」とゆうのです)この「・・リ」の部分を取り出せば、画像の表示が
可能になると思います。が、最初に作詞者などの情報があり非常に難しいと思います。
この部分を取り出して、画像として表示させることは可能でしょうか?



晩御飯

リンク

2012/6/24(Sun) 21:47:41|NO.47358

可能です
タグ以外のデータの並びは固定でなかったと思うけど



foobar

リンク

2012/6/24(Sun) 21:51:39|NO.47359

> 最初に作詞者などの情報があり非常に難しいと思います
http://www.id3.org/id3v2.3.0 とかを見ると
何がどんな風に並んでいるか分かるからそれに従ってパースすればいいよ。



大富豪A

リンク

2012/6/24(Sun) 22:30:48|NO.47361

>foobar様
APIC〜PRIVの部分を取り出し、jpgとして保存した結果、jpgとして正しく表示されませんでした
bmpに形式を変えて保存してみましたが、やはり出来ませんでした。
また、元の画像と、埋め込んである画像は、すこし内容が違っていました。(見間違いかもしれ
ませんが...)
失礼ですが、皆様もできれば試してほしいのですが、よろしいでしょうか?



KA

リンク

2012/6/25(Mon) 08:54:44|NO.47364

>>正しく表示されませんでした
どういう風に正しくないのでしょうか。

>>元の画像と、埋め込んである画像は、すこし内容が違っていました。
表示出来ないのに、どうして分かるのでしょうか。

>>皆様もできれば試してほしいのですが、よろしいでしょうか?
ファイルから画像を取り出すソフトを使ってみましょう。
(自分で探して下さい。)



MillkeyWeler

リンク

2012/6/25(Mon) 12:07:08|NO.47365

>>APIC〜PRIVの部分を取り出し、jpgとして保存した結果、jpgとして正しく表示されませんでした
だけど、たぶん取り出し位置がずれてる気がするが。

APICから直で画像データではないのよー。
画像サイズやら、画像種別やらで。

画像種別はほとんどの場合、「image/jpeg」になってると思うけど。
APIC〜PRIV までを抜き出しても、正しくは取得できないよー。
正確には、APICから見て、「FFD8」ってバイナリから。

下記参考URL
http://masasoft.org/index.cgi?page=%C4%B4%A4%D9%A4%E2%A4%CE%2FID3Tag

とりあえず、当方の環境では、ID3の画像は正しく取得できた。



てれてれ

リンク

2012/6/25(Mon) 13:13:23|NO.47366

こちらでもmp3ファイル個々にアートワークが設定されていれば正しく取得できましたよ。

dir = dir_cur dialog "mp3",16 : if stat != 1 : end FileName = refstr exist FileName : if strsize = -1 : end FileSize = strsize sdim buf,FileSize : bload FileName,buf ID3tag = $41,$50,$49,$43 : PicPos = -1 : MODE = 0 repeat limit(FileSize,0,1048576) : cn = cnt if PicPos = -1{ repeat length(ID3tag) if peek(buf,cn+cnt) != ID3tag(cnt) : break if cnt = length(ID3tag)-1{ PicPos = cn+23 : PicSize = 0 repeat 4 : poke PicSize,cnt,peek(buf,cn+7-cnt) :loop PicSize-13 if peek(buf,PicPos) = 0 : PicPos++ : PicSize--: MODE = 1 } loop } if PicPos != -1 : break await 0 loop if PicPos != -1{ if MODE = 0 : SaveFile = dir+"\\img.png" if MODE = 1 : SaveFile = dir+"\\img.jpg" exist SaveFile if strsize = -1 : notesel em : notesave SaveFile sdim PicData,PicSize memcpy PicData,buf,PicSize,0,PicPos(0) bsave SaveFile,PicData exec SaveFile,16 }else: dialog "イメージファイルが見つかりません。" : end



大富豪A

リンク

2012/6/25(Mon) 18:42:59|NO.47368

>てれてれ様
スクリプトもつけていただきありがとうございます。
解決できました。



ONION software Copyright 1997-2017(c) All rights reserved.