Проблема в том, что вы используете MediaPlayer.create()
для создания MediaPlayer. Функция Create
вызывает функцию prepare()
, которая завершает работу вашего носителя и не позволяет вам изменять AudioStreamType
.
Решение использует setDataSource
вместо create
:
MediaPlayer mp = new MediaPlayer();
mp.setAudioStreamType(AudioManager.STREAM_ALARM);
mp.setLooping(true);
try {
mp.setDataSource(getApplicationContext(), yourAudioUri);
mp.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mp.start();
Для получения дополнительной информации см. эту ссылку .
Функция DMwR::unscale(vals, norm.data, col.ids)
требует, чтобы norm.data
имела число столбцов, большее, чем число vals
. Я предлагаю рассмотреть следующую измененную версию unscale
:
myunscale <- function (vals, norm.data, col.ids) {
cols <- if (missing(col.ids)) 1:NCOL(vals) else col.ids
if (length(cols) > NCOL(vals))
stop("Incorrect dimension of data to unscale.")
centers <- attr(norm.data, "scaled:center")[cols]
scales <- attr(norm.data, "scaled:scale")[cols]
unvals <- scale(vals[,col.ids], center = (-centers/scales), scale = 1/scales)
unvals <- cbind(unvals,vals[,-col.ids])
attr(unvals, "scaled:center") <- attr(unvals, "scaled:scale") <- NULL
unvals
}
set.seed(1)
x <- matrix(2*rnorm(4000) + 1, ncol = 4)
x2 <- matrix(9*rnorm(2000), ncol = 2)
x_unsc <- myunscale(cbind(scale(x), x2), scale(x) , 1:4)
. Средние значения и стандартные отклонения x_unsc
:
apply(x_unsc, 2, mean)
# [1] 0.9767037 0.9674762 1.0306181 1.0334445 -0.1805717 -0.1053083
apply(x_unsc, 2, sd)
# [1] 2.069832 2.079963 2.062214 2.077307 8.904343 8.810420