#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"')