【问题标题】:Sound playing and forward swiping animation flickering problem in android phonegap and jqtouch?android phonegap 和 jqtouch 中的声音播放和向前滑动动画闪烁问题?
【发布时间】:2010-11-03 12:54:39
【问题描述】:

我正在开发一个使用 phonegap for android 的应用程序。它由大约 25 张图像和类似数量的 mp3 文件组成。每个 mp3 文件的时长不超过 10 秒。应用程序的要求是,只要在屏幕上显示图像,就应该播放其相关的 mp3 文件。我正在使用 jqtouch 滑动操作从一页移动到另一页。我在模拟器和真实设备上都面临以下问题(三星银河 3)-

  1. 在模拟器和 Galaxy 3 上播放 15-20 张图像后,声音停止播放。在 logcat 中出现以下错误

    ERROR/AudioFlinger(34):AudioTrack size=49216 内存不足

我正在使用以下代码播放 mp3 文件

if(mp3file!=null){
            mp3file.stop();

            mp3file = null;
        }

        mp3file = new Media("/android_asset/www/name_of_file.mp3",
            function() {
                console.log("playAudio():Audio Success");
            },
                function(err) {

            },
                function(status) {
                               });
          mp3file.play();

我认为错误是由于内存中剩余的每个 mp3 文件的 phonegap api 的 audiomanager 对象造成的。 我想知道如何销毁在 javascript 中创建的媒体对象。您可以播放、停止、暂停。但是在phonegap中是否有任何方法可以让android销毁它,这样它就不会在播放完成后留在内存中。

  1. 我面临的另一个问题与 jqtouch 中的左滑动动作有关,以查看下一张图像。如果我当前正在查看 image1 并且我尝试通过向左滑动操作查看 image2,则会显示 image2 很短的时间,然后显示 image1 片刻,然后再次显示 image2。简而言之,从 image1 到 image2 不平滑,有闪烁效果。但是,如果我使用右滑动过渡从 image2 转到 image1 是平滑的。

谢谢

【问题讨论】:

  • 如果您认为 PhoneGap 代码中存在错误,您可以使用 HTML5 音频标签播放歌曲

标签: android jqtouch cordova


【解决方案1】:

我在这方面得到了另一位开发人员的帮助。诀窍是让一个函数在函数外部声明 mp3file,然后在其上调用 stopRecord()。(即使你没有进行录制)。我用一个简单的方法对此进行了测试按钮一遍又一遍地播放声音,在我厌倦之前它工作了 75 次。

让我知道它对你有用。

var mp3file;
function playAudio(){


if(mp3file!=null){
            mp3file.stop();
            mp3file.stopRecord();
            mp3file=null;

        }

       mp3file = new Media("/android_asset/www/yourmp3.mp3",
            function() {
                console.log("playAudio():Audio Success");
            },
                function(err) {

            },
                function(status) {
                               });
          mp3file.play();



}

【讨论】:

    猜你喜欢
    • 2014-01-02
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 2023-03-29
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多