01/10/2018, 16:46

Giúp đỡ sửa lỗi OSError : [Errno 2] No such file or directory trên ubuntu 14.04

Mình muốn bật file âm thanh khi điểu kiện thõa mãn, bên ubuntu 16.04 mình chạy và bình thường mình copy qua bên 14.04 lại gặp lỗi đã nêu trên mình đã tìm mọi cách mà không sửa lỗi được
File của mình có tồn tại

 if r.count("one") > 0 and r.count("no") > 0 or r.count("why") > 0 and r.count("no") > 0:
                    Mic.playaudiofromAudio().play('/home/l/Desktop/PROJECT/Audio/BEEP_HI.wav')
                    os.remove(filename)

đây là class Mic

class playaudiofromAudio():#Play audio từ audio
	def play(self,audio_file_path):
		subprocess.call(["ffplay", "-nodisp", "-autoexit", audio_file_path])
Kamui Ka viết 18:56 ngày 01/10/2018

Mình thấy có 2 khả năng ở đây:

  • Bạn nhầm địa chỉ file, bạn tìm file và xem Properties của file lại đi nhé
  • Nếu bạn chắc chắn file tồn tại thì xem lại có đúng nó lỗi ở hàm Mic.playaudiofromAudio().play() không đã nhé
Vĩ Huỳnh viết 18:48 ngày 01/10/2018

xin chào minh ko gặp lỗi trên ubuntu 16.04 mà lai gặp lôĩ trên ubuntu 14.04 , minh đã kiểm đuờng dẫn không sai

Kamui Ka viết 18:51 ngày 01/10/2018

bạn thử copy file vào luôn cùng thư mục với file python xem nào, sửa tham số trong hàm về tên file thôi, rồi check xem còn lỗi không

HK boy viết 18:57 ngày 01/10/2018

/home/l/Desktop/PROJECT/Audio/BEEP_HI.wav

Desktop là một cái tên nhạy cảm

https://ubuntuforums.org/showthread.php?t=862242&p=5404076#post5404076

Sửa thành

~/Desktop

vì bên ubuntu 14.04 của bạn chưa chắc đã có user l. Directory này chạy được với mọi user.

Nhiều khi Desktop cũng không có tên là… Desktop Xem thêm ở đây:

askubuntu.com
g_p

Why is my desktop the same as home folder?

directory, xdg
answered by g_p on 11:23AM - 12 Sep 14
Kamui Ka viết 18:51 ngày 01/10/2018

Bạn nên mở terminal và dùng lệnh cd tới folder chứa file xem, có thể giống vấn đề mà @noname00 đã trình bày.

Hung viết 18:59 ngày 01/10/2018

Ai lại xài absolute path
Xài relative path để khỏi bị bug linh tinh

Vĩ Huỳnh viết 18:57 ngày 01/10/2018

okay thank bạn, mình sẽ tìm hiểu và sử dụng nó

Vĩ Huỳnh viết 18:54 ngày 01/10/2018

mình để file cùng thư mục python thì nó hoạt động

Vĩ Huỳnh viết 18:48 ngày 01/10/2018

okay thank bạn đễ mình thử

Vĩ Huỳnh viết 19:02 ngày 01/10/2018
File "/home/l/Desktop/PROJECT/ClassX.py", line 66, in Run
    PocketSphinx.SpeechDetector().run()
  File "/home/l/Desktop/PROJECT/PocketSphinx.py", line 150, in run
    Mic.playaudiofromAudio().play('~/Desktop/PROJECT/Audio/BEEP_HI.wav')
  File "/home/l/Desktop/PROJECT/Mic.py", line 14, in play
    subprocess.call(["ffplay", "-nodisp", "-autoexit",audio_file_path])
  File "/usr/lib/python2.7/subprocess.py", line 523, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

vẫn lỗi bạn ơi

HK boy viết 18:47 ngày 01/10/2018

Bạn xem lại đường dẫn

‘~/Desktop/PROJECT/Audio/BEEP_HI.wav’

đi.

Thử chạy thẳng trên terminal

ffplay -nodisp -autoexit ~/Desktop/PROJECT/Audio/BEEP_HI.wav

xem có ra cái gì không.

Kamui Ka viết 19:00 ngày 01/10/2018

Mình cũng không rõ bạn phân chia thư mục trong hệ thống như nào nên cũng chịu. Thế thì dùng relative path đi cho lành, hoặc là copy file sang folder khác dễ tìm hơn đi.

Vĩ Huỳnh viết 18:59 ngày 01/10/2018

ra âm thanh tiếng beep của mình . nếu chơi relative path chắc sửa hơi mệt

Bài liên quan
0