問題タブ [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.
c# - TAGLIB - タイプ 'System.StackOverflowException' の未処理の例外が mscorlib.dll で発生しました
一連のフォルダーを参照し、ID3Tag プロパティを設定しようとする小さなコンソール アプリがあります。
ScrPathn Album と Artist は String 定数です。
保存ステップで私は得る:
System.StackOverflowException は処理されませんでした メッセージ: mscorlib.dll で 'System.StackOverflowException' 型の未処理の例外が発生しました
NuGet 経由でインストールした TagLig の最新バージョンを使用しています。提案はありますか?
編集。VSから追加情報は提供されません。
読み取りストリームと書き込みストリームを分割するようにコードを変更しました。
同じエラーが発生し、空の新しいファイルが作成されます。
c# - ビットマップを MP3 のカバー アートとして設定する
MP3 のカバー アートとしてビットマップを設定しようとしていますが、うまく動作しないようです。エラーは発生していませんが、MP3 を再生するとビットマップが表示されません。
これは私が現在持っているものです:
ffmpeg - ffmpegで変換後、TagLibで開くと「MPEG audio header not found」エラー
このようなことをするだけでwmaファイルを変換しました...
Windows Media Player で mp3 ファイルを再生できるので、変換がうまくいったようです。
しかし、TagLib でファイルを開こうとすると、次の行に「MPEG オーディオ ヘッダーが見つかりません」というエラーが表示されます...
いくつかの wma ファイルでこれを試したので、問題があるのはそれだけではありません。
誰が私が間違ったことを知っていますか? ffmpeg のドキュメントはかなり圧倒的で、オーディオ エンコーディングの分野では完全に無知なので、ほとんどのドキュメントが何を意味するのかわかりません。変換で何かが欠けている可能性がありますが、WMP で再生できるのに TagLib で開くことができない理由は説明できません。
c# - ソースから TagLib# DLL をビルドし、それを PHP で COM 可視化する
こんにちは、オーディオ ビデオ ファイルをスキャンし、そのメタデータを PHP を使用してデータベースに保存したいと考えています。banshee 開発者によってコンパイルされた TagLib.dllを使用してジョブを実行するこのコマンドライン ラッパーを見つけました。正常に動作しますが、実装されている機能によって制限されます。PHP経由でdllメソッドに直接アクセスしたい。
PHP には、.Net アセンブリからクラスをインスタンス化し、そのメソッドを呼び出して、次のようにそのプロパティにアクセスできる関数 ( DOTNET ) があります。
github の Taglib# プロジェクト ソースは次のとおりです。
PHP-DLL-COM に関連する多くの質問を見ましたが、いくつかの推奨事項があります。
- dll を comVisible にします。
- でdllを登録し
regsvr32
ます。 - 次のようなモジュール定義ファイルを使用します
;
私の質問は、どうすれば DLL をビルドし、PHP 経由でそのメソッドを使用できますか?
私の設定:
OS
Windows Server 2012 R2 標準版 i586
アパッチ:
Apache/2.2.21 (Win32) DAV/2 PHP/5.4.42 mod_ssl/2.2.21 OpenSSL/0.9.8r
PHP
PHP バージョン: 5.4.42 アーキテクチャ
: x86
コンパイラ: MSVC9 (Visual C++ 2008)
COM サポート: 有効
DCOM サポート: 無効
.Net サポート有効マイクロソフト ビジュアル スタジオ 2013
.net - TagLibSharp はファイルをロックしますか?
残念ながら、現時点では自分のコードに直接アクセスすることはできませんが、アプリケーションは次のことを行います。
- 入手する
string[] files = Directory.GetFiles(dir, "*.mp3", SearchOptions.AllDirectories);
- ファイル内の各ファイルを繰り返し処理し、一般的な Tag オブジェクトを取得します (具体的には IDV3 のものではなく、形式が何であれ)。
- Tag オブジェクトから新しいファイル名 {track no} - {track name} の文字列を作成し、それをリストに追加します
File.Copy(files[i], newFileName, true)
ファイルの名前を変更します(新しい名前で同じディレクトリにコピーします)
File.Copy
がクラッシュし、別のプロセスがファイルを使用していることがわかります。事実、これらのファイルを使用しているものは他にありませんが、コードのどこかでそれらをロックしている必要があり、それが何なのか、どのビットであるかを推測する方法もわかりません。
TL# がファイルをロックしている場合に備えて追加しようとしましmyTagObject.Save(); myTagObject.Clear(); myTagObject = null;
たが、ファイルを解放するためにできることはこれ以上考えられません。
powershell - [System.Drawing.Bitmap] を [File.IFileAbstraction] に変換します
仕事
PowerShell で、 taglip-sharpライブラリを使用して ID3V2 タグとして画像を追加したいと考えています。
通常、次のようにします。
一般的な問題
上記は、画像がローカルのどこかにあるファイルである場合にのみ機能します。しかし、私は[System.Drawing.Bitmap]
それをロードするファイルパスを持たないオブジェクトとして画像を持っていますcreatefrompath
。
あなたが言う前に ディスクに書き込んでください : 私の最終的なスクリプトは多くの画像と mp3 ファイルを処理するので、それらを保存するのは避けたいと思います。そして、何百枚もの写真を書いて削除したくありません。
具体的な質問
taglib にはCreateFromFile(File.IFileAbstraction )
、画像をロードするために呼び出される別のメソッドもあります。しかし、どうすれば a[System.Drawing.Bitmap]
を aに変換できIFileAbstraction
ますか?
ネットで見つけた最も近いヘルプはhereとhereでした。しかし、それは.NET 4.5用であり、これをPowerShell構文に変換することは決してできません
c# - taglib Sharp Portable でストリームを開いて書き込むと、Windows Phone 8.1 で 0x80070005 でアクセスが拒否されました
そこの。taglib シャープ ポータブルに少し問題があります。音楽ライブラリからストリームを開きたい、ファイルのプロパティを書き換えたい。
私のコードは次のとおりです。
にvar stream = await file.OpenStreamForWriteAsync()
、次のエラーがあります。
mscorlib.ni.dll の 'System.UnauthorizedAccessException' アクセスが拒否されました。(HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))
どうしたの?このコードは、読み取り専用のタグのストリームを開きたい場合に機能します。このコードが機能しないのはなぜですか? taglib シャープ (ポータブルではない) を使用している場合:
tags.Save()
エラーで困っています
System.StackoverflowException.
私がしなければならないこと?