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])

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é

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

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

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

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 :grin: Xem thêm ở đây:

2 Likes

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.

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

1 Like

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

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

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

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

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

đ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.

1 Like

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.

1 Like

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

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?