`

(惨痛教训) java runtime().exec() 提示 No such file or directory

 
阅读更多

 

 最近花了三天解决了一个不是问题的问题,花三整整三天,可谓真是太惨痛了。

 

 近期做呼叫中心的语音合成(TTS),使用了百度语音平台进行语音合成。百度语音合成出来的语音是MP3格

 

 式。这里共遇到几个问题:

 

(1)百度语音平台导出来的语音格式是 mp3, 强制转成 wav 时,正常播放没有问题。但是通过 sox 做转换时

         提示 RIFF header not found  等错误。

 

(2)如果以 mp3 的方式导出,执行 sox xxx.mp3 -r 8000 -c 1 xxx.vox 时,提示 sox 不支持 mp3。通过编译的方式后,解决了 sox 支持 mp3 的问题。

 

最终定下来的解决方案是:百度语音导出成 mp3 ,然后调用 sox 的方式转换成 vox 格式,可以在电话系统中直接播放。

 

定下方案后,发现在 java 后台执行,执行系统转换命令:

Process p = Runtime.getRuntime().exec("sox xxx.mp3 -r 8000 -c 1 xxx.vox"); 

 

 

 

提示:Cannot run program "sox": java.io.IOException: error=2, No such file or directory

 

但是在控制台直接执行 sox xxx.mp3 -r 8000 -c 1 xxx.vox 时,挺是没有问题的。

 

开始以为是 权限问题,在转换前将语音文件的权限增加到最大,但是还是提示相同的错误。

 

经过各种测试,还是没有办法解决,

 

No such file or directory ,难道是文件不存在? 

 

后来决定不直接执行 sox ,而是通过执行 复制操作,确定是否文件真的存在。即是

 

Process p = Runtime.getRuntime().exec(cp xxxx.mp3 xxx_bak.mp3);

 

谁知道写错了,写成了 copy xxx.mp3 xxx_bak.mp3 居然提示同样的错误,后来改正后,可以正常执行。

 

看来 No such file or directory 这个提示,并非是要复制或是要转换的文件不存在,看来是操作命令的问题。

 

即是 sox  这个操作命令不存在。

 

最后,通过 /usr/bin/sox xxx.mp3 -r 8000 -c 1 xxx.vox ,终于能正常执行。

 

经过三天才真正定位到错误原因。

 

 

这次解决问题完全是因为写错了  copy 才定位到的原因,真是无心插柳。

分享到:
评论
1 楼 hbxfyxw 2017-04-08  
 

相关推荐

    惨痛=道理作文.doc

    惨痛=道理作文.doc 在这篇作文中,我们可以看到作者通过游戏活动来阐释了道理的重要性。游戏活动中,同学们通过合作和团结,终于獲得了胜利,体现了团队合作的精神。 首先,让我们来讨论游戏活动的设计。游戏的...

    WIN7下最好用的无损分区工具

    WIN7下分区有四种方法: 1.用WIN7自带的磁盘管理工具,比较安全,缺点是不能调节主分区和逻辑分区的大小,最...这点我已经有惨痛教训. 4.这也是我推荐的,最好的一款软件,WIN7下完成.中文.棒极了.支持国产.

    node_惨痛教训

    在Node.js开发过程中,新接触者常常会遇到一些常见的问题,本文主要针对“node_惨痛教训”中提及的两个典型错误进行详细解释,并提供解决方案。 ### 错误一:`Error: Cannot find module 'XXX'` 这个错误通常发生...

    我是谁?我在干嘛?回想被MySQL UTF8编码坑的惨痛教训总结

    最近遇到几个项目被MySQL的utf8编码坑,想起之前编码问题被坑的惨痛教训,记录一下,警示自己。 曾几何时,每次建库都选utf8,觉得自己比那些用乱七八糟编码的人不知道酷到哪里去了。直到好多年前的某次课程设计做...

    高二语文下学期第二次月考试题(无答案) 试题.doc

    4. 物证的重要性:物证如血衣、遗骨和废墟是激活记忆的有力工具,它们真实而有力量,能直观地提醒人们历史的惨痛教训。 5. 艺术在灾难记忆中的作用:艺术家通过创作如刻有孩子名字的弹珠、死难者生平资料展示等方式...

    小学生安全教育火的世界PPT学习教案.pptx

    案例中提到的2012年石阡县的火灾就是由小孩玩火引发的惨痛教训。 3. **防火知识** - 学生应该了解火的危险性,避免在家中玩火或在山林中野炊、乱扔烟头,这些都可能引发森林火灾。 - 对于易燃易爆物品,如鞭炮,...

    银行廉政教育心得体会五篇.doc

    案例中的“代价”是指因疏忽和违规操作导致的惨痛教训。 2. **规章制度执行**:银行内部应严格执行各项规章制度,防止混岗、串岗,明确岗位职责,确保每个环节都有有效监督。对规章制度的忽视和执行不力是导致案件...

    乔戈里 java面经

    然后他问我的项目亮点是啥,我当时一下愣住了,扯了一些有的没的,都是失败的惨痛的教训,大家参考参考就好,不一定就一定要照着我学,非要知耻而后勇,咋提前准备好也是不错的。经过这次惨痛的教训以后,我就开始有...

    Java微信网页端,公众号支付Demo

    微信支付处处是坑,真的是惨痛的经历,所以赶紧分享给大家,让大家顺利过坑,有问题欢迎留言。谢谢(缺少部分包,请根据其他人评论酌情下载)

    angluar_记惨痛的教训

    1) 模块没有任何异常,也没有错误,但是内容显示不出来 2) 统一引入css 3) 引入第三方模块 4) 注入服务 ...1) 模块没有任何异常,也没有错误,但是内容显示不出来 第一此创建项目之后 , 模仿着项目中已有的 app.xxxxxx 系列...

    煤矿安全管理培训新理念PPT课件.pptx

    3. **事故教训与警示**:课件列举了多个重大煤矿事故案例,如山西王家岭煤矿透水事故、河南新密市煤矿火灾等,以唤起人们对安全的重视,提醒人们事故带来的惨痛后果。 4. **通风与火灾、瓦斯爆炸的关联性**:通风是...

    部编小学二年级语文下册亡羊补牢PPT课件.pptx

    《寒号鸟》这个故事讲述了两个鸟类,寒号鸟和喜鹊,寒号鸟因为不听劝告,导致自己冻死的惨痛教训。这个故事告诉我们,趁早准备,避免损失。 整个PPT课件共十四页,包括故事的讲述、图片、解释和作业等部分。该资源...

    【安全课件】重大生产安全事故应急救援系统(新).pptx

    6. **教训与预防措施**:事故后的教训是强化安全意识,严格执行法规,提升安全管理水平,建立并定期演练应急救援预案,确保员工熟悉疏散路径和应急程序。 7. **安全健康管理体系**:课件提到了职业安全健康管理体系...

    28位金融投资者惨痛经历告诉你:凭努力被坑的钱如何凭实力找回来?.pdf

    28位金融投资者惨痛经历告诉你:凭努力被坑的钱如何凭实力找回来?

    消防讲座.pptx

    这些案例提醒我们,无论是公共场所还是家庭中,都必须严格遵守安全用电规定,避免因疏忽导致惨痛后果。 2. **电器设备的安全使用**:电器设备的过载、短路、接触电阻过大、烘烤和摩擦都可能导致火灾。应定期检查...

    矿山安全生产标语口号大全.doc

    6. 你对违章讲人情,事故对你不留情 - 提醒工人不要因为一时的便利而忽视安全规则,否则可能会付出惨痛代价。 7. 按章操作机械设备,时刻注意效益 - 强调正确操作设备的重要性,同时提醒工人注意生产效率与安全并重...

    含有人体器官的成语.doc

    9. **头破血流**:头被打破,血流出来,形象地描述受伤严重,也常用来比喻受到重大挫折或遭遇惨痛失败。 10. **眉清目秀**:眉毛清晰,眼睛明亮,形容人长得清秀、俊美,多用于形容年轻男女的外貌。 11. **袖手傍观*...

    119消防宣传日精彩演讲稿范文500字(精选5篇).docx

    文中列举了几起重大火灾事故,强调了火灾的破坏性和惨痛后果。 3. **防火意识的重要性**:个人和集体都需要有强烈的防火意识,避免因为疏忽或违规操作引发火灾。尤其是对于学生,了解并掌握基本的防火知识是必要的...

    Delphi源码备份

    经常写程序的朋友一定都知道备份的重要性吧,一次忘记备份可能会让你欲哭无泪,在这方面,在这方面我也曾经有过惨痛教训,于是就写了 这个小工具。 它是专门为了备份Delphi的源代码而设计的,可以定时自动备份,...

Global site tag (gtag.js) - Google Analytics