|
はじめまして、L.Entis です。
▼Kobarinさん:
>ところで、「新着情報」には ERINA-Library 1.0D リリースと書かれて
>いますが、「ダウンロード」ページでダウンロードできるライブラリは
>1.0A のようです。1.0D はどこにあるのでしょうか?
あぅ、すいません。
これ、萌衣☆Player ですね。どうも、頭が半分死んでおります。
>1つ要望があります。今の MIODynamicPlayer クラスは、EFileObject
>からのデータの読み込みを実際のデコードルーチン(GetWaveBufferFrom?)
>とは別スレッドで先読みするような仕様になっているようですが、これを
>抑制することは出来ないでしょうか?
なるほど、検討しておきます。
このような要望は他でも聞きましたので。
>それと、タイトル読み込みは出来ないのでしょうか?
>erinaf.doc にはタグ情報に関する記述がありますし、恵理ちゃん
>club の音楽室にあるサンプルにはタグ情報が埋め込まれているよ
>うなのですが、タグ情報を取得するための API を見つけることが
>出来ませんでした。
ERIFile::ETagInfo クラスと、ERIWriteFile::ETagInfo などで可能です。
>出来れば、ERINA-Library 専用のクラスを一切用いない、通常の
>Win32 API だけで取得できるような API を提供して頂けると助
>かるのですが…。インターフェース部分だけではなく、実装部分
>も含めて、です。
独立した実装となると少々面倒ではありますが、とりあえず次のような実装でタイトル取得が可能だと思います。
1."descript" レコードを探す
以下ちょっと手抜きコード。
struct { __int64 recid ; __int64 reclen ; } rechdr ;
SetFilePointer( hFile, 0x50, NULL, FILE_BEGIN ) ;
do
{
ReadFile( hFile, &rechdr, sizeof(rechdr), &dwReadBytes, NULL ) ;
if ( dwReadBytes < sizeof(rechdr) )
return ; // エラー
while ( rechdr.recid != *((__int64*)"descript") ) ;
pszDesc = (char*) GlobalAlloc( GPTR, (DWORD) rechdr.reclen ) ;
ReadFile( hFile, pszDesc, (DWORD) rechdr.reclen, &dwReadBytes, NULL ) ;
2.タグ情報を解析
pszDesc を解析します。
ERIFile::ETagInfo クラスの CreateTagInfo 関数を書き換えれば比較的簡単ではないかと…。fileacc.cpp に入っています。
とりあえず必要であれば、上を参考にして組んでもらえればと思います。
|
|