https://github.com/cran/tuneR
Tip revision: f6977c3ef8ea48eff4bc888c56c75a1b0abd2bf8 authored by Uwe Ligges on 29 June 2010, 00:00:00 UTC
version 0.4-0
version 0.4-0
Tip revision: f6977c3
play.R
setGeneric("play",
function(object, player, ...) standardGeneric("play"))
setMethod("play", signature(object = "character", player = "ANY"),
function(object, player, ...){
if(missing(player)){
player <- getWavPlayer()
if(.Platform$OS.type == "windows" && is.null(player)){
player <- "c:/Program Files/Windows Media Player/wmplayer.exe"
if(!file.exists(player)){
player <- "mplay32"
if(missing(...))
player <- paste(player, "/play /close")
} else {
player <- shQuote(player)
}
}
}
if(.Platform$OS.type == "windows"){
shell(paste('"', paste(player, ..., shQuote(object)), '"', sep=""))
} else {
system(paste(player, ..., object))
}
})
setMethod("play", signature(object = "Wave", player = "ANY"),
function(object, player, ...){
filename <- "tuneRtemp.wav"
wd <- getwd()
setwd(tempdir())
on.exit({unlink(filename); setwd(wd)})
writeWave(object, filename)
play(file.path(tempdir(), filename), player, ...)
})