Sure, this is pretty easy to do.
lets say you have a set of poster items:
posterlist=[{shortdescriptionline1:"slideshow",action:"slideshow"},{shortdescriptionline1:"slideshow2",action="slideshow"},{shortdescriptionline1:"audio item",action:"music",song:{url:"http://www.musicwebsite.com/my.mp3",streamformat:"mp3"}}]
if the audio item is selected, then:
so:
while true
msg=wait(0,port)
if type(msg)="roPosterScreenEvent" then
ndx=msg.getindex()
if posterlist[ndx].action="music" then
audioplayer.stop()
audioplayer.clearcontent()
audioplayer.addcontent(posterlist[ndx].song)
audioplayer.play()
else
...do slide show
end if
Of course this is a very rough example, but hopefully you get the idea. You essentially create an audio player, then hand it an roAssociativeArray, in this example called song. You could do it like this:
audioplayer.addcontent({url:"http://my.com/m.mp3",streamformat:"mp3"})
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!