Làm thế nào để sử dụng thời gian ra trong mplayer?


1

Tôi đang cố gắng lưu âm thanh bằng mplayer từ luồng http trực tiếp. lưu âm thanh thành công. Nếu không có phát trực tiếp, nó không tự động thoát. Có cách nào để đặt thời gian chờ nếu không có luồng trực tiếp không?

mã: mplayer -i url -t 00:00:10 -acodec libmp3lame -ab 24 -ar 8000 audio.mp3

Cảm ơn trước.

Câu trả lời:


0

Tôi đã giải quyết nó bằng cách sử dụng Expect . Bạn khởi chạy phát trực tuyến với ./play.sh:

while [ '1' == '1' ]; 
do
  expect try_stream.exp $1 
  sleep 3
done

Và điều này sử dụng try_stream.exp:

set timeout 4
spawn mplayer -nocache $argv
expect {
  "Starting playback" { 
    interact
  }
  timeout { 
    send \003;
    exit 1
  }
}

Về cơ bản, nó cố gắng phát luồng và nếu không thể thực hiện được trong vòng 3 giây, nó sẽ từ bỏ (tập lệnh .Ex) và thử lại (tập lệnh .sh). Nó hoạt động miễn là bạn có vấn đề như một máy chủ rất bận rộn. Thật không may, tôi không biết làm thế nào để giải quyết vụ án khi người chơi bị mắc kẹt khi nó bắt đầu chơi, không có chuỗi đầu ra nào để Mong phát hiện trong trường hợp như vậy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.