https://github.com/cran/tuneR
Raw File
Tip revision: f6977c3ef8ea48eff4bc888c56c75a1b0abd2bf8 authored by Uwe Ligges on 29 June 2010, 00:00:00 UTC
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, ...)
})
back to top