web-dev-qa-db-ja.com

名前に特定の文字が含まれるファイルを再生しないクレメンタイン

先週、モリトゥリとリズムボックスでいくつかのCDをリッピングしました。 1枚のCDを除いて、すべてが正常に見えた。いくつかのトラックの後、モリツリで(FLACに)リッピングしているときに奇妙なエラーが発生したので、残りのCDをrhythmboxでリッピングしました。

その後、Clementineは私がcdからリッピングしたトラックを再生できませんでした(モリツリでリッピングしたトラックは、リズムボックスでリッピングしたトラックと同様に)。クレメンタインは、ライブラリに存在しないかのように機能します。ただし、Rhythmboxを使用すると、すべてのトラックを完全に再生できます。

私は友人から得たいくつかのmp3ファイルで同じ問題を抱えています。 Rhythmboxでプレイできますが、クレメンタインはあたかも存在しないかのように動作します。

再び正常に動作させるにはどうすればよいですか?私はすでにそれを再インストールし、設定ファイルを削除し、リポジトリからインストールされたものを削除し、www.clementine-player.orgから最新バージョンをインストールしようとしました。

注:Clementineは、私がリッピングした他のcdと他の音楽ライブラリ(ほとんどはMP3の一部のファイルを含むFLAC)を完全に再生できます。

どの追加情報を提供できるかわかりませんが、お気軽にお問い合わせください。

編集:ターミナルでクレメンタインを実行し、「問題のある」トラックの1つを再生しようとすると、次のメッセージが表示されます。

11:36:48.542 INFO  MoodbarLoader:144                Creating moodbar data for "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" 
11:36:48.546 ERROR MoodbarPipeline:134              Error processing  QUrl( "file:///home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" )  : "Resource not found." 
11:36:48.546 ERROR MoodbarPipeline:134              Error processing  QUrl( "file:///home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" )  : "Resource not found." 
11:36:48.571 ERROR GstEnginePipeline:563            2 "gstfilesrc.c(1042): gst_file_src_start (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-15/GstFileSrc:source:
No such file "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac"" 
11:36:48.572 ERROR GstEnginePipeline:563            2 "gstfilesrc.c(1042): gst_file_src_start (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-15/GstFileSrc:source:
No such file "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac"" 
11:36:48.681 WARN  GstEngine:572                    Gstreamer error: "Resource not found." 
11:36:48.684 WARN  unknown                          QTimeLine::start: already running 

この問題は、ファイルへのパスで使用されている一部の文字に関連していると思われます。たとえば、アルバム「RacineCarrée」や「GoranBregović」の曲は再生できません。 Beets を使用して音楽を整理しているため、このパスは自動的に作成されます。たぶん、Beets設定ファイルを編集して、特殊文字を除外できます。

Ubuntu 13.10を使用しています

編集:localeコマンドは次の出力を返します。

LANG=en_US
LANGUAGE=en_GB
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
7
user138784

それは奇妙です。 "Tafête"または "Tafête"、UTF-8ロケールシステムは問題なくそれらを開くことができるはずです。 Ubuntu 13.10の新しいコピーにClementineをインストールしたところです。パス名をどのように変更しても、テストオーディオファイルは正常に再生されます。
これは馬鹿げているように聞こえますが、端末でlocaleと入力して現在のロケールを確認してみてください。私はそれが問題だとは思いませんが、チェックするのに害はありません。

locale -aを試して、システムでen_US.UTF-8およびen_GB.UTF-8が使用可能かどうかを確認してください。ある場合は、ターミナルでSudo gedit /etc/default/localeと入力してロケール設定ファイルを開き、すべてをen_US.UTF-8(およびLANGをen_GB .UTF-8代わりに英国英語が必要な場合)。

LANGだけで十分だと思うので、ロケール設定ファイルは次のようになります。

LANG = "en_GB.UTF-8"

その後、システムを再起動して、ファイルをもう一度再生してください。

詳細についてはこれを見てください:
https://help.ubuntu.com/community/Locale#Changing_settings_permanently

/ etc/default/localeの編集が機能しない場合:

まず、現在のロケールパッケージを手動で生成および再構成してみてください。

Sudo locale-gen
Sudo dpkg-reconfigure locales

次に、言語パックを停止して、最初の場所にロケールが存在することを確認します(念のため):

Sudo apt-get install language-pack-en-base

次に、システムから言語サポートを開き、英語(米国)を一番上にドラッグして、システム全体に適用します。ログオフして再度ログインし、ターミナルでlocaleを実行して、変更が適用されるかどうかを確認します。それがうまくいけば、素晴らしい。ただし、ロケールファイルの手動編集でも失敗した場合はおそらく動作しないので、ターミナルでSudo gedit /etc/environmentを試し、PATHの後にこれを追加します。

LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

保存して再起動し、有効になるかどうかを確認します。 localeが表示されるはずです。これが機能する場合、今回は正しい出力を提供します。そうでない場合、システムは代わりに他の場所からロケール設定を取得します。

それでもシステムロケールにUTF-8を使用できない場合は、

Sudo gedit etc/bash.bashrc

これを最後の行に追加します(他のものを編集しないように注意してください):

# Forcing locale to en_US.UTF-8
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

保存して再起動します。

3
eccentricSam

私が考えたように、問題は実際にファイル名またはパスの特殊文字が原因です。これを変更すると問題が解決します。

もちろん、より良い解決策はクレメンタインに特殊文字を正しく読み取らせることですが、これを行う方法はまだわかっていません。おそらくバグです。

編集:私は このバグ かもしれません。

edit2:UbuntuはUFT-8を使用しているので、2回目はそうではないと思います(間違えなければ、このことについてほとんど知識がありません)

3
user138784

Clementineはファイル名からURIを作成しているようです。 UTF-8を使用する場合でも、URIで許可されていないスペース。 %20でエスケープする必要がある。他の特殊文字もエスケープする必要があります

ファイル名のスペースをアンダースコア、ハイフンなど、およびéêなどの特殊文字をデフォルトのラテン文字に置き換えることができます。 e

ファイル名とフォルダー名に対してこれを行う場合、これはClementineでの表示方法には影響しません。これは、このような文字を許可するID3タグから読み取られます。だから、そのようなものの名前を変更し、クレメンタインライブラリを再配置します。それで修正されるはずです。

UTF-8とASCIIの関係を説明するには:

UbuntuはデフォルトとしてUTF-8を使用します(少なくとも私の知る限り)が、URIはASCIIのみを使用するため、éのようなすべてのUnicode文字はASCIIの2倍の大きさで解釈されます2つのASCII文字として:é

0
s3lph