lo que pasa es que cuando tú creas por ejemplo :
load handel
r=audioplayer(y,Fs);
estás creando un objeto de la clase audioplayer , es decir que estás creando una variable que tiene propiedades de un audio entonces esa variable r le puedes aplicar varios métodos entre los que se encuentran :
audioplayer get horzcat pause playblocking set stop
delete getdisp isplaying play resume setdisp vertcat
entonces al aplicarle stop lo que haces es detenerla pero puedes volverla a continuar si quieres y puedes aplicar todas las funciones anteriormente mencionadas en cambio cuando tú le colocas clear all lo que estás haciendo es borrar todos los objetos o variables que se encuentren , es decir , estás borrando el audio previamente cargado y por eso funciona pero una vez borrado ya no puedes acceder a él.
espero haber resuelto tu duda
saludos
https://www.facebook.com/royethmatlab/