2017-09-17 1 views
10

Ich habe den folgenden Code, aber jedes Mal höre ich nur den Standard-Android-Sound.Android 8 Benachrichtigungen setSound funktioniert nicht

 // create channel 
     NotificationChannel channel = new NotificationChannel(ANDROID_CHANNEL_ID, 
       ANDROID_CHANNEL_NAME, NotificationManager.IMPORTANCE_DEFAULT); 
     // Sets whether notifications posted to this channel should display notification lights 
     channel.enableLights(true); 
     // Sets whether notification posted to this channel should vibrate. 
     channel.enableVibration(true); 
     // Sets the notification light color for notifications posted to this channel 
     channel.setLightColor(Color.GREEN); 
     // Sets whether notifications posted to this channel appear on the lockscreen or not 
     //channel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE); 
     channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC); 

     Uri uri = Uri.parse("android.resource://"+this.getPackageName()+"/" + R.raw.aperturaabductores); 

     AudioAttributes att = new AudioAttributes.Builder() 
       .setUsage(AudioAttributes.USAGE_NOTIFICATION) 
       .setContentType(AudioAttributes.CONTENT_TYPE_SPEECH) 
       .build(); 
     channel.setSound(uri,att); 

Das ist mein Sound pablomonteserin.es/aperturaabductores.wav

+0

Niemand resample-, wirklich? – Ricardo

+0

Getestet. im Emulator arbeiten. –

+0

Funktioniert weder in meinem Emulator noch in meinem Gerät. Hast du auf Android 8 getestet? Bitte beachten Sie, dass ich einen benutzerdefinierten Sound laden möchte. – Ricardo

Antwort

2

Ich habe versucht, den Unterschied zwischen Ihrer Sounddatei und Mine zu sehen. Ich habe Audacity Software benutzt. Ihre Sounddatei hat eine Abtastrate von 22050Hz, während die Sounddateien, die ich verwende, mit 44100Hz abgetastet werden. Also habe ich die Abtastrate für Ihre Sounddatei auf 44100Hz konvertiert und diese als Benachrichtigung verwendet. Jetzt funktioniert es.

Das Problem ist mit der Audiodatei. Vielleicht ist es eine neue Änderung in Android O, weil es auf älteren Android-Version funktioniert.

Dies ist, wie enter image description here

Verwandte Themen