Clementine не воспроизводит файлы с определенными символами в названии

7

На прошлой неделе я разорвал несколько дисков в morituri и rhythmbox. Все казалось прекрасным, за исключением одного компакт-диска. После нескольких треков я получил некоторую странную ошибку во время копирования (до FLAC) с помощью morituri, поэтому я разорвал оставшуюся часть этого компакт-диска с помощью rhythmbox.

Впоследствии Клементина не смогла воспроизвести треки, которые я разорвал с компакт-диска (как и те, которые были разорваны с моритури, как те, которые были разорваны с помощью ритм-бокса). Клементина действует так, как будто их нет в моей библиотеке. Однако с Rhythmbox я могу отлично воспроизводить все треки.

У меня такая же проблема с некоторыми mp3-файлами, которые я получил от друга. Я могу играть их в Rhythmbox, но Clementine действует так, как будто их не существует.

Как мне заставить его нормально работать? Я уже пытался переустановить его, удалив файлы конфигурации, удалив установленную из репозиториев и установив последнюю версию с сайта www.clementine-player.org

Примечание: Clementine может отлично воспроизводить другие CD, которые я разорвал, а также остальную часть моей музыкальной библиотеки (в основном в FLAC, с некоторыми файлами в mp3).

Я не знаю, какую дополнительную информацию я могу предоставить, но не стесняйтесь спрашивать.

edit: при запуске clementine в терминале, а затем при попытке воспроизведения одной из «проблемных» треков я получаю следующее сообщение:

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 

Я думаю, проблема может быть связана с некоторыми символами, используемыми в пути к файлу. Например, невозможно воспроизвести альбом «Racine Carrée», а также песни из «Goran Bregović». Поскольку я использую Beets для организации моей музыки, этот путь создается автоматически. Может быть, я могу изменить конфигурационный файл Beets, чтобы исключить специальные символы.

Я использую Ubuntu 13.10

edit: команда 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=
    
задан user138784 26.02.2014 в 16:46
источник

3 ответа

3

Это странно. «Ta fête» или «Ta fête» , языковая система UTF-8 должна быть способна открывать их без проблем. Я только что установил Clementine на новую копию Ubuntu 13.10, и тестовые аудиофайлы отлично работают независимо от того, как я изменил их пути.
Я знаю, что это звучит глупо, но можете ли вы попробовать проверить свой текущий язык, набрав 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"

После этого перезагрузите систему и попробуйте снова воспроизвести файлы.

Посмотрите на это для получения дополнительной информации:
Ссылка

Если редактирование / etc / default / locale не работает:

Сначала попробуйте вручную создать и перенастроить текущие пакеты локали:

sudo locale-gen
sudo dpkg-reconfigure locales

Затем установите языковой пакет, чтобы убедиться, что локали существуют в первую очередь (просто чтобы быть в безопасности):

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

Затем откройте «Поддержка языков» из «Система» и попробуйте перетащить английский (США) вверх, и примените его в масштабе всей системы. Выйдите из системы и запустите locale в терминале, чтобы узнать, применяются ли изменения. Если это работает, отлично. Но это, вероятно, не сработает, если даже ручное редактирование файла 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"

Сохранить и перезагрузиться.

    
ответ дан eccentricSam 09.03.2014 в 08:16
источник
3

Как я понял, проблема действительно вызвана специальными символами в имени файла или пути. Изменение этого параметра решит проблему.

Лучшим решением было бы, конечно, сделать clementine правильно читать специальные символы, но я еще не выяснил, как это сделать, может быть, это ошибка.

изменить: Я мог бы эта ошибка .

edit2: На втором этапе я думаю, что это не так, поскольку Ubuntu использует UFT-8 (если я не ошибаюсь, у меня мало информации об этом)

    
ответ дан user138784 02.03.2014 в 10:49
0

Кажется, что Clementine делает URI из имен файлов. Атрибуты пространств разрешены в URI, даже с использованием UTF-8. Необходимо избегать %20 . Другие специальные символы также должны быть экранированы

Вы можете попытаться заменить Spaces в именах файлов символами подчеркивания, дефисами и т. д. и специальными символами, такими как é или ê по умолчанию латинскими символами, например. e .

Если вы сделаете это с именами файлов и папок, это не повлияет на то, как материал отображается в Clementine - это считывается из тегов ID3, которые допускают такие символы. Поэтому переименуйте этот материал и переместите свою библиотеку Clementine. Это должно исправить это.

Чтобы объяснить материал UTF-8 и ASCII:

Ubuntu использует UTF-8 по умолчанию (по крайней мере, насколько мне известно), но URI используют только ASCII, поэтому каждый символ Юникода, как é , который в два раза больше, чем ASCII, интерпретируется как два символа ASCII: é

    
ответ дан s3lph 08.03.2014 в 04:00