2017-09-17 36 views
10

다음 코드가 있지만 매번 기본 Android 음악이 들립니다.Android 8 알림 setSound not working

 // 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); 

이것은 pablomonteserin.es/aperturaabductores.wav

+0

아무도를 resample-하지하는 방법은? – Ricardo

+0

테스트 됨. 에뮬레이터에서 작동합니다. –

+0

내 에뮬레이터와 장치에서 작동하지 않습니다. Android 8에서 테스트 했습니까? 사용자 지정 사운드를로드하고 싶습니다. – Ricardo

답변

2

나는 사운드 파일과 내 사이의 차이를 볼려고 내 소리입니다. Audacity 소프트웨어를 사용했습니다. 사운드 파일의 샘플링 속도는 22050Hz이고 사용하는 사운드 파일의 샘플링 속도는 44100Hz입니다. 그래서 나는 당신의 사운드 파일 샘플링 속도를 44100Hz로 바꾸고 이것을 알림 소리로 사용했다. 이제 작동합니다.

사운드 파일에 문제가 있습니다. 이전 Android 버전에서 잘 작동하기 때문에 Android O에서 새로운 변화 일 수 있습니다.

이 정말 enter image description here