トップページ > 記事閲覧
Ogg Vorbisのタグ取得
名前:タニシン 日時: 2020/07/26 02:03

こんにちは。 お世話になっております。 Ogg Vorbisで音楽情報を取得しようと考えております。 現状GetMP3TagInfoでMP3のタグ取得ができるのですが、 こちらのOggバーションを作成していただくことは可能でしょうか? もしくは方法がありましたら教えていただきたいです。
メンテ

Page: 1 |

Re: Ogg Vorbisのタグ取得 ( No.1 )
名前:管理人 日時:2020/07/26 23:11

はい、可能です 早速実装してみましたので、関数を追加したこちらのバージョンをダウンロードしてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibAndroidTest.zip // Android版 https://dxlib.xsrv.jp/temp/DxLibiOSTest.zip // iOS版 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) 以下の関数を追加しました // Oggファイルのコメント情報の数を取得する // char *FileName:コメント情報の数を取得したい Ogg Vorbis ファイルのパス // 戻り値:コメント情報の数 int GetOggCommentNum( char *FileName ) ; // Oggファイルのコメント情報を取得する // char *FileName:コメント情報を取得したい Ogg Vorbis ファイルのパス // int CommentIndex:取得するコメントの番号 // char *CommentNameBuffer:コメント名を格納するバッファの先頭アドレス // size_t CommentNameBufferBytes:コメント名を格納するバッファのサイズ( バイト数 ) // char *CommentBuffer:コメントを格納するバッファの先頭アドレス // size_t CommentBufferBytes:コメントを格納するバッファのサイズ( バイト数 ) // 戻り値:0 = 正常終了 -1 = エラー発生 int GetOggComment( char *FileName, int CommentIndex, char *CommentNameBuffer, size_t CommentNameBufferBytes, char *CommentBuffer, size_t CommentBufferBytes ) ; Ogg Vorbisのタグ情報は全て『コメント』という形で格納されているので、GetOggCommentNum で コメントの総数を取得して、GetOggComment でコメントを取得して、CommentName に格納される コメント名が何かによってタイトルであったりアーティスト名であったりを判別する形となります oggファイルのコメント一覧を画面に表示するプログラムは以下のようになります #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int CommentNum ; char CommentName[ 128 ] ; char Comment[ 1024 ] ; int i ; ChangeWindowMode( TRUE ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) { // エラーが発生したら終了 return -1 ; } // コメント数を取得 CommentNum = GetOggCommentNum( "Test.ogg" ) ; // コメントの数だけ繰り返し for( i = 0 ; i < CommentNum ; i ++ ) { // コメントを取得 GetOggComment( "Test.ogg", i, CommentName, sizeof( CommentName ), Comment, sizeof( Comment ) ) ; // 画面に表示 DrawFormatString( 0, i * 16, GetColor( 255,255,255 ), "Comment Name : %s Comment : %s", CommentName, Comment ) ; } WaitKey() ; // DXライブラリの後始末 DxLib_End() ; // ソフトの終了 return 0 ; } よろしければお試しください m(_ _)m
メンテ
Re: Ogg Vorbisのタグ取得 ( No.2 )
名前:タニシン(解決) 日時:2020/08/02 07:38

遅くなりましたが、タグ取得ができたのでお知らせします。 かなりの情報が取れたので私が確認したものを軽く載せておきます。 ENCODER:エンコーダ TITLE:曲名 ALBUM:アルバム名 ARTIST:アーティスト名 COMPOSER:作曲者 LYRICIST:作詞者 ARRANGER:編曲者 GENRE:ジャンル DATE:日付 BPM:テンポ COPYRIGHT:コピーライト COMMENT:コメント WEBSITE:ウェブサイト これだけの情報があれば色々とできそうですね。 もし使っていて取れないケースがありましたらご連絡します。 関数を追加していただきありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存