問題タブ [taglib-sharp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - taglib-sharpでサポートされているすべてのオーディオファイルタイプのリストはどこにありますか?
なぜこれを見つけるのが難しいのかわかりませんが、これに関するドキュメントを見つけることができません。taglib-sharpが処理できるすべてのオーディオファイルタイプのサポートを含め、他のすべてのオーディオファイルタイプを除外することを確認したいだけです。
私が見つけたのはソースコードへのリンクだけであり、そのような単純な質問のためにそれを掘り下げたくはありません。ありがとう。
ちなみに、「公式」サイトはどこですか?
編集:もう少し調査した後、私が見つけることができる最良の答えは、ここのファイルクラスのドキュメントにあるようです:
http://taglib-sharp.sourcearchive.com/documentation/2.0.3.7plus-pdfsg/classTagLib_1_1File.html
サポートされているオーディオファイル拡張子のリストを本当に探していましたが、これで必要なものがほぼ得られます。
c# - TagLib-Sharp を使用して MP3 ファイルから XingHeaders と VBRIHeaders を読み取る方法
TagLib-Sharp を使用して、MP3 ファイルの Xing および Fraunhofer VBRI ヘッダーに格納されている情報を抽出する必要があります。
例を Web で検索し、ソース コードを調べましたが、XingHeader クラスと VBRIHeader クラスの使用方法が明確ではありません。これらは、MPEG の File/AudioFile プロパティの一部ではないようです。
コンストラクターには、TagLib 名前空間で定義されている ByteVector クラスが必要です。
XingHeader クラスと VBRIHeader クラスの使用例を教えてください。どんな助けでも大歓迎です。
c# - id3 画像編集後の mp3 の再生に関する問題
ハードウェアの制限により、当社が作成するソフトウェアは、ライブラリにインポートするオーディオ ファイル (ハードウェアにコピーする準備ができている) が許容可能なビット レートであることを確認しようとします。
最近、FFmpeg を使用してさまざまな種類のオーディオを mp3 に変換し、ハードウェアにインポートして使用できるようにしました。変換は正常に機能し、mp3 ファイルはその後ハードウェアで機能しますが、特に mp3 の ID3 タグにアルバム アートを追加するときに問題が発生します。このトラックは、当社のソフトウェアではオーディオを再生しません。また、Windows はエクスプローラーで ID3 タグの値を取得できないようですが、Windows Media Player は引き続きトラックを再生します。
この問題は、FFmpeg を使用した後に新しく変換された mp3 の ID3 タグを変更した場合にのみ発生するようです。他のソースからの mp3 や、ID3 タグ アルバム アートを既に取得している mp3 のタグを変更しても問題ありません。
当社のソフトウェアから FFmpeg を使用するためのコードは次のとおりです。
ID3 タグを変更するために、TagLib-Sharp の使用を開始しました。ID3 タグを変更するためのコードは次のとおりです。
そして、ソフトウェアでトラックを再生するために使用されるコード (QuartzTypeLib の FilgraphManager):
そして実行時のエラー_mp3control.RenderFile(_tempFile)
:
ここでの私の最大の問題は、FFmpeg (他の多くの場所で問題なく使用されている大きなライブラリ)、TagLib-Sharp、またはオーディオの再生に問題があるかどうかがわからないことです。
編集 1: J. Andrew Laughlin のアドバイスに従って、各ファイルの 16 進数の ID3 タグの違いを調べてきました。これは私が見つけたものです:
初期入力は ID3v2.3 です。FFmpeg で再エンコードすると、ID3 データは v2.4 になります。この再エンコードされた最初のファイルは、メディア プレーヤーと当社のソフトウェアで正常に再生されます。当社のソフトウェアで TagLib# を使用してアルバム アートを追加すると、ID3v2.4 が保持されますが、タグは TagLib# を使用して読み取られ、Windows Media Player などのメディア プレーヤーでのみ再生されます。別のツールを使用して ID3 タグ (この場合は AudioShell Tag Editor) を変更し、同じアルバム アートを追加すると、ID3 バージョンが 2.3 に変更され、mp3 がソフトウェア オーディオ プレーヤーや他のメディア プレーヤーで再生されるようになりました - ただし、タグを変更するその後、画像を保存するときに例外が発生します。
私が試したもう 1 つのことは、再エンコード後に ID3v2.4 ブロックを完全に取り除くことでした。これは (ご想像のとおり) すべてのメディア プレーヤーで再生されます。このタグなしファイルで TagLib# を使用すると、タグが正しく適用され (v2.3)、当社のソフトウェアと他のソフトウェアで引き続き適切に再生されました。
誰かがエレガントな解決策を提案できない限り (TagLib# に新しい ID3v2.3 ブロックを強制的に書き込むか、FFmpeg にまったく書き込みを停止させる)、エンコード後にファイルから ID3v2.4 ブロックをプログラムで削除してから、新しいもの。
c# - TagLib# を間違った拡張子のファイルで動作させる方法は?
MP4 ファイルからメタデータを取得するためにTagLib#を使用しています。これまでのところ、LagLib# puke を作成する「間違った」拡張子を持つファイルを見つけるまで、すべて正常に動作します.このファイルが jpg 拡張子で保存され、TagLib が例外をスローしたことを発見しました開始時に SOI マーカーが期待されますいくつかのグーグル検索の後、これは jpeg ファイルの読み取りに関係していることがわかりました。
ファイルのマジック ナンバーを見ると、mp400 00 00 20 66 74 79 70
の正しい署名に対応するが返されます。
次の質問があります。
- ファイルの名前を変更せずにメタデータを読み取るにはどうすればよいですか。
- TagLib# はどのようにメタデータを決定しますか?
何か案は?
Ps。私が使用したコードは次のようなものでした:
.net - .Net で Taglib-sharp 2.0.4.0 を使用して ArtWork を作成する際に問題が発生しました
MP3 ファイルにアートワークを書き込むのに問題があります。Taglib-sharp を使用して、MP3 ファイル内のすべてのアートワークを読み取って表示できますが、MP3 タグに複数の画像 (例: FrontCover と BackCover) を挿入する場合、問題が発生します。 .それが1つのアートワークだけなら... 私はそれを行うことができます. (vb.net は素晴らしいですが、C# でもうまくいきます)。
もう1つのリクエスト...そしてmp3タグ内の画像を削除?? 誰かがそれを行う方法の例を教えてください。
ご協力いただきありがとうございます
c# - 角かっこ/中かっこを含む値をAccessデータベースに挿入します
taglib-sharpとOleDbを使用して、音楽ファイルのフォルダーにインデックスを付け、そのファイルのすべてのメタデータをAccessデータベースに保存しようとしています(おそらく後でSQL Compactなどに切り替えますが、私が持っている本ではAccessを使用しています) 。以下のコードは、特定のフォルダーとサブフォルダーにある最初の1000ファイルのメタデータを取得して保存する必要があります
ただし、この問題は、タグの1つにタイトルに角かっこが含まれている場合に発生します。これが問題を引き起こす理由はわかりますが、解決/回避する方法はわかりません。文字列リテラルなどを試しましたが、どのように機能するかわかりませんでした(:/ではありません)。より良いアイデアはありますか?
c# - TagLib#を使用したデータバインディング
そのため、データバインディングでTagLibライブラリを使用しようとしていますが、バインド可能なプロパティに変換するのに問題があります。どんな助けでもありがたいです、ありがとう。これが私がこれまでに持っているものです、私は私が間違っていることを理解していません:
mp3 - TagLib-sharp:HttpPostedFileオブジェクトからメタデータを読み取る
ユーザーが自分のMP3を自分のサイトに投稿し、CDNに保存する前にファイルからメタデータを読み取りたいと思います。TagLib-Sharpはこれを行うためのライブラリのようですが、ディスクに保存したくないHttPostedFileを開いて、メタデータを取得する方法がわかりません。
taglib-sharpでこれを行う方法の例はありますか?
編集:IFileAbstractionはこれを解決できるようです。IFileAbstractionの使い方を知っている人はいますか?
save - Taglib のシャープな保存のみ ID3v2
TagLib シャープを使用するのは初めてです。ファイル内のタグの特定のバージョンのみを保存しようとしています。タグを保存するたびに、ID3v1 と ID3v2 の両方が作成されます。これが起こらないようにする方法はありますか?どちらを保存するかを選択できますか。save 関数は引数を取らないので、アイデアはありますか?