Настройка звукового проигрывателя по умолчанию

#r #wav

#r #wav

Вопрос:

Используя пакеты R, такие как tuneR и seewave, я генерировал звуки, которые я хочу воспроизводить с помощью некоторого программного обеспечения, которое не является Windows Media Player, но я не знаю, как это настроить. Эта команда

 setWavPlayer("mplay32")
  

Это единственное, что работает (и его WMP). Когда я пытаюсь сделать что-то подобное

 setWavPlayer("C:/Program Files/foobar2000/foobar2000.exe")
  

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

 'C:/Program' is not recognized as an internal or external command, operable program or batch file.
  

Какие-либо подсказки?

Ответ №1:

Вот что работает для меня в OSX: предполагая, что я установил приложение под названием «play.app» ,

 setWavPlayer('/applications/play')
  

В вашем случае может показаться, что где-то вдоль строки вашего пути пробел строки (в «Program [space] Files» ) приводит к разделению строки. Это сообщение об ошибке довольно явно исходит из командной строки или аналогичной оболочки. Вам нужно заключить строку в кавычки с помощью shQuote , чтобы пространство обрабатывалось правильно:

 setWavPlayer(shQuote("C:/Program Files/foobar2000/foobar2000.exe"))
  

Комментарии:

1. Просто чтобы уточнить, Карл предлагает заменить «Program Files» на «Program Files» (т. Е. Обратную косую черту перед пробелом).

2. Я получаю ту же ошибку, даже когда я избегаю своих пробелов : setWavPlayer("C:/Program Files/Windows Media Player/wmplayer.exe") .

3. Я думаю, вы также можете передать кавычки следующим образом: setWavPlayer(' "C:/Program Files/foo.exe" ')

4. Передача кавычек, как предложил Карл, сработала, и теперь я могу играть с seewave. Спасибо.

5. Функция для передачи строк в кавычки в ОС является shQuote .

Ответ №2:

Если вы хотите сделать это в Windows, это то, что я сделал. К сожалению, wmplayer работает не идеально. Тем не менее, вы можете воспроизводить звуки с его помощью.

   setWavPlayer('"C:/Program Files/Windows Media Player/wmplayer.exe"')