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 <- "mplay32"
if(missing(...))
player <- paste(player, "/play /close")
}
}
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(filename, player, ...)
})