app :: PlayableAudio :: native=
private var native: nullable AVAudioPlayer is lazy do
# Find file
var ns_path = ("assets"/path).to_nsstring
var url_in_bundle = asset_url(ns_path)
if url_in_bundle.address_is_null then
self.error = new Error("Sound at '{path}' not found")
return null
end
var player = new AVAudioPlayer.contents_of(url_in_bundle)
# TODO set delegate to get further errors
if player.address_is_null then
self.error = new Error("Sound at '{path}' failed to load")
return null
end
player.prepare_to_play
return player
end
lib/ios/audio.nit:29,2--49,4