我知道这很奇怪,但这是我的观察:
我设法使用Ionic 1中的Media Plugin播放一些音乐:
//Method 1: just plugin
mediaRes = new Media(myMusicPath, onMediaSuccess, onMediaError, onMediaStatus);
//Method 2: ngCordova
mediaRes = $cordovaMedia.newMedia(myMusicPath)
mediaRes.play().then(onMediaSuccess, onMediaError, onMediaStatus);
从其他帖子中读到,路径至关重要:
"/android_asset/www/music/mymusic.mp3"
基本上路径名已经打印在我的HTML上,所以它不会出错。
前N次,它正常工作。然后,在第(N + 1)个,它失败并出现错误{"code":1}.
为什么会这样?在重新初始化变量之前,我是否需要以某种方式清除缓存或其他内容?目前我每次运行时都会重新初始化变量。
修改
如果我只是在不重新初始化同一变量的情况下执行'play()'
,那么无限播放似乎是可以的。会继续观察......
答案 0 :(得分:0)
release()
释放基础操作系统的音频资源。这是 对于Android来说尤为重要,因为有一定数量的 用于媒体播放的OpenCore实例。应用程序应该调用 释放不再需要的任何媒体资源的功能。
显然,release
功能是必需的。这解决了这个问题。