我有一个试图使用以下代码播放小型声音文件的应用程序:
Alert.play_file("/public/audio/" + $audio_file + ".mp3", "audio/x-mp3") if Configuration.current.audio_prompt?
当我使用此代码时,应用程序会抛出一个"服务器错误"看起来像这样:
我尝试过使用媒体播放器API代替Alert API,但收到的错误基本相同。
这是编解码器问题吗?
对于Wav文件(是的,wav文件正确指向而不是那些行中的mp3),不会抛出错误,但声音本身不会播放。
修改
我终于能够在此错误期间获得一些logcat数据,并收到了:
09-25 19:51:03.122 8891 8948 I APP:I 09/25/2016 19:51:03:122 000022f4 HttpServer | GC结束。 09-25 19:51:03.123 8891 8948 I APP:I 09/25/2016 19:51:03:123 000022f4 HttpServer |流程URI:' / app / Animation / draw' 09-25 19:51:03.124 8891 8948 I APP:I 09/25/2016 19:51:03:124 000022f4 APP | RHO服务:/ app / Animation / draw 09-25 19:51:03.125 8891 8948 I APP:I 09/25/2016 19:51:03:124 000022f4 APP |参数:{" char_id" =>" 6"," ajax" =>"","运行&#34 ; =>" 1"} 09-25 19:51:03.131 500 500 V AudioFlinger:从8891释放55为-1 09-25 19:51:03.131 500 500 V AudioFlinger:将refcount减少为0 09-25 19:51:03.131 500 500 V AudioFlinger:清除陈旧效果 09-25 19:51:03.132 8891 8948 E ExtMediaPlayer-JNI:无法找到QCMediaPlayer .... 09-25 19:51:03.132 8891 8948 D MediaPlayer-JNI:JNIMediaPlayerFactory:bIsQCMediaPlayerPresent 0 09-25 19:51:03.132 8891 8948 E ExtMediaPlayer-JNI:无法找到QCMediaPlayer .... 09-25 19:51:03.132 8891 8948 D MediaPlayer-JNI:JNIMediaPlayerFactory:bIsQCMediaPlayerPresent 0 09-25 19:51:03.132 500 4043 V AudioFlinger:从8891获得56,为-1 09-25 19:51:03.132 500 4043 V AudioFlinger:为56添加了新条目 09-25 19:51:03.133 8891 8948 I APP:E 09/25/2016 19:51:03:133 000022f4 RhoFileApi |无法打开文件描述符:/public/audio/xing4.mp3:打开失败:ENOENT(没有这样的文件或目录) 09-25 19:51:03.133 8891 8948 I APP:E 09/25/2016 19:51:03:133 000022f4 NotificationSingleton |空值 09-25 19:51:03.133 8891 8948 I APP:java.lang.IllegalArgumentException 09-25 19:51:03.133 8891 8948 I APP:at android.media.MediaPlayer._setDataSource(Native Method) 09-25 19:51:03.133 8891 8948 I APP:at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1133) 09-25 19:51:03.133 8891 8948 I APP:at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1118) 09-25 19:51:03.133 8891 8948 I APP:at com.rho.notification.NotificationSingleton.playFile(NotificationSingleton.java:168) 09-25 19:51:03.133 8891 8948 I APP:at com.rho.notification.NotificationSingletonBase $ playFileTask.run(NotificationSingletonBase.java:106) 09-25 19:51:03.133 8891 8948 I APP:at com.rhomobile.rhodes.api.MethodExecutor.run(MethodExecutor.java:11) 09-25 19:51:03.133 8891 8948 I APP:E 09/25/2016 19:51:03:133 000022f4 MethodResult |回调:,数据:;标签ID:-1; resultType:typeError;结果:" null" 09-25 19:51:03.134 8891 8948 I APP:I 09/25/2016 19:51:03:133 000022f4 APP |应用错误: 09-25 19:51:03.134 8891 8948 I APP:lib / RhoNotificationApi.rb:53:in
playFile' 09-25 19:51:03.134 8891 8948 I APP : lib/RhoNotificationApi.rb:53:in
play_file' 09-25 19:51:03.134 8891 8948 I APP:apps / app / Animation / animation_controller.rb:273:draw' 09-25 19:51:03.134 8891 8948 I APP : lib/rho/rhocontroller.rb:101:in
发送' 09-25 19:51:03.134 8891 8948 I APP:lib / rho / rhoapplication.rb:217:serve' 09-25 19:51:03.134 8891 8948 I APP : lib/rho/rho.rb:836:in
发送' 09-25 19:51:03.135 8891 8948 I APP:I 09/25/2016 19:51:03:135 000022f4 HttpServer | GC启动。 09-25 19:51:03.153 8891 8891 W cr_BindingManager:无法调用determinVisibility() - 从未看到pid的连接:8891 09-25 19:51:03.162 8891 8891 I APP:I 09/25/2016 19:51:03:162 000022bb WebViewSingleton | onNavigateComplete<<<<<<<<<<<<<<<<<<<<<<<<<<<< ;<<<<<<<<<<<<<<<<<<<<<<<<&LT ;<<<<<<<<<<<<<<< 09-25 19:51:03.162 721 721 I MSM-irqbalance:决定将IRQ115从CPU0移到CPU3 09-25 19:51:03.244 514 628 E ThermalEngine:====输入sched_bmhb_cs_gov - > vs_temp = 305 === 09-25 19:51:03.250 8891 8948 I APP:I 09/25/2016 19:51:03:250 000022f4 HttpServer | GC结束。
看起来最相关的一点是:
RhoFileApi |无法打开文件描述符:/public/audio/xing4.mp3:打开失败:ENOENT(没有这样的文件或目录)
这似乎表明文件丢失或位置不正确,但这肯定是我文件所在的位置。
我在这里发现了一些类似问题的帖子:
https://developer.zebra.com/thread/4416
https://developer.zebra.com/thread/1787
但他们的解决方案无效。我没有尝试将文件夹明确地称为"警告"而不是"音频"在公共文件夹中,但我不明白为什么这很重要。
答案 0 :(得分:0)
现在修复。对于后来出现的问题,问题是文件位置需要从绝对位置引用,这可以这样做:
{
"name": "username/glide-user",
"description": "Module For Zend Framework 2",
"type": "library",
"license": "BSD-3-Clause",
"homepage": "https://github.com/username/GlideUser",
"keywords": [
"zf2",
"zfc-user",
"bjyauthorize"
],
"authors": [
{
"name": "Haris Mehmood",
"email": "abc@outlook.com",
"homepage": "abc.com",
"role": "Developer"
}
],
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": ">=5.3.3",
"bjyoungblood/bjy-authorize": "1.4.0"
},
"autoload": {
"psr-0": {
"GlideUser\\": "src/"
}
}
}