2014-04-26 23 views
7

Tôi đang cố gắng phát tệp wav trong R bằng cách sử dụng gói tuneR. Tôi không biết nền của hàm, nhưng có vẻ như nó cố gắng lưu tệp wav vào tệp tạm thời mà nó không có quyền truy cập. Tôi đang làm như sau:"Quyền bị từ chối" khi phát tệp WAV

> # install package if you don't have it 
> install.packages("tuneR")  
> library(tuneR) 

> # load some WAV file 
> mySound = readWave("Beethoven.wav"); 
> # plot it to see if things are working: 
> plot(mySound) 

> # play the sound 
> play(mySound) 
sh: /var/folders/qv/sw8_92hn4qg0rb5w40gz9mf40000gn/T//RtmpKU9kVN/tuneRtemp.wav: Permission denied 

Vì vậy rõ ràng nó không có quyền truy cập vào thư mục này. Làm cách nào để tôi có thể thay đổi thư mục này hoặc cấp quyền truy cập R cho thư mục này?

Tôi đang làm việc trên MacOSX 10.7.5, với phiên bản RStudio 0.98.501.

Trả lời

1

Tôi đã tạo gói R cho phép bạn tạo nhạc của riêng mình trong khi quay lại. Tôi đã có vấn đề này cố gắng để có được tuneR để làm việc với một mac là tốt. Như bạn có thể thấy ở đây: https://github.com/Dasonk/musicmakeR/blob/master/R/playsong.R giải pháp của tôi (mà có lẽ không phải là tốt nhất) là để làm điều này

if(Sys.info()["sysname"] == "Darwin"){ 
    filename <- tempfile("tuneRtemp", fileext = ".wav") 
    #on.exit(unlink(filename)) 
    writeWave(song, filename) 
    system(paste("open -a iTunes", filename)) 
    return(invisible()) 
} 

nơi song là dữ liệu sóng. Vì vậy, giải pháp của tôi về cơ bản là viết nó ra một tệp mà bạn biết bạn có quyền truy cập và sau đó gọi trực tiếp trình phát nhạc bằng hệ thống.

Các vấn đề liên quan