小编Wro*_*bel的帖子

准确时间播放三个或更多短音SoundPool(钢琴和弦)

我有一个问题,我想在同一时间开始声音.

我在循环播放3-5个短音(钢琴音色),我在前1ms延迟,在第二个17ms延迟,依此类推,最后声音最多60-90ms.

我正在使用SoundPool.

任何人都有这样的问题,或曾使用它可以解决这个问题(启动多个短的声音同步)库?

下面是示例测试示例(我使用RxJava但我已经使用和不使用RxJava测试了它):

   Observable.timer(150, TimeUnit.MILLISECONDS, Schedulers.single())
            .repeat()
            .subscribe(aLong -> {
                for (int soundId = 55; i < 60; i++) {
                    soundPool.play(soundId , 1f, 1f, 1, 0, 1);
                }
            });
Run Code Online (Sandbox Code Playgroud)

audio android soundpool

6
推荐指数
1
解决办法
195
查看次数

MobileAds.initialize() 和 IntersitialAd.loadAd() 违反 StrictModePolicy

我在 Google Play Console 上报告了一些 ANR 错误。我像这样打开严格模式:

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                .detectAll()
                .penaltyLog()
                .build());
        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                .detectAll()
                .penaltyLog()
                .build());
Run Code Online (Sandbox Code Playgroud)

而且我只注意到 AdMob 方法中的违规行为:

MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
Run Code Online (Sandbox Code Playgroud)

和:

   interstitialAd.loadAd(adReqest);
Run Code Online (Sandbox Code Playgroud)

MobileAds.initialize() 上的错误日志:

StrictMode policy violation; ~duration=827 ms: 
android.os.StrictMode$StrictModeDiskReadViolation:
Run Code Online (Sandbox Code Playgroud)

在 InterstitialAd.loadAd() 上:

stack=android.os.StrictMode$StrictModeCustomViolation: 
policy=4259871 violation=8 msg=gcore.dynamite
    at android.os.StrictMode$AndroidBlockGuardPolicy.onCustomSlowCall(StrictMode.java:1280)
    at android.os.StrictMode.noteSlowCall(StrictMode.java:2225)
Run Code Online (Sandbox Code Playgroud)

我想问一下有没有人发现这个问题?如果是,错误是否有可能提供给 ANR?如何消除这些问题?

android admob

5
推荐指数
0
解决办法
623
查看次数

标签 统计

android ×2

admob ×1

audio ×1

soundpool ×1