2009-12-31 30 views
8

Tôi có một yêu cầu để đặt cùng một ứng dụng sẽ tạo ra một trình chiếu web.Các tùy chọn cho cách trình duyệt web với âm thanh không thuyết phục là gì?

Nó cần để có thể thực hiện chuyển tiếp ưa thích giữa nhiều hình ảnh (trong trình duyệt) và cũng cung cấp âm thanh trong khi những hình ảnh đó đang được hiển thị. Quá trình chuyển đổi giữa các hình ảnh phải bị trì hoãn cho đến khi âm thanh kết thúc (mỗi hình ảnh sẽ có bản âm thanh riêng).

Nó cũng cần phải được tạo bằng chương trình để không có công cụ thiết kế GUI ưa thích - tôi muốn có thể tạo XML hoặc các tệp văn bản thuần túy có thể được tải trực tiếp vào trình duyệt (a la jQuery) hoặc được biên dịch một công cụ phân phối tự do (a la Open Laszlo).

Tất cả công việc trên web của tôi cho đến nay là J2EE nhưng tôi nghĩ đã đến lúc tôi kiểm tra một số công cụ phía khách hàng phong phú hơn. Tôi đã có một cái nhìn nhanh chóng vào cả hai Open Laszlo và jQuery nhưng tôi không chắc chắn làm thế nào tôi sẽ đi về đồng bộ các slide với âm thanh. Quy trình cơ bản sẽ là:

  • bắt đầu theo dõi âm thanh.
  • chuyển đổi sang hình ảnh.
  • đợi cho đến khi bản âm thanh hoàn tất.
  • rửa sạch và lặp lại.

Đây có phải là điều có thể với jQuery không? Dường như có một số lượng lớn các công cụ thao tác DOM nhưng tôi không thể tìm thấy bất kỳ điều gì rõ ràng về đồng bộ hóa âm thanh.

Tôi đang mở các đề xuất khác nếu bạn có chúng nhưng yêu cầu đối với các công cụ phân phối tự do là tuyệt đối. Điều này có thể sẽ loại trừ phần lớn các giải pháp loại Adobe Flash.

Trả lời

3

Tôi khuyên bạn nên sử dụng jPlayer http://www.happyworm.com/jquery/jplayer/ làm trình xử lý sự kiện âm thanh của mình. jPlayer rất tuyệt vì nó cũng hỗ trợ âm thanh HTML5.

Sau đó, bạn có thể sử dụng chức năng gọi lại onSoundComplete gọi lại trong jPlayer để kích hoạt thay đổi hình ảnh. Có quá nhiều hình ảnh cuộn/slideshow jQuery để liệt kê, nhưng cá nhân tôi thích Chu kỳ: http://malsup.com/jquery/cycle/

0

Bạn có thể viết nó trong ActionScript 3 với các thư viện Flex (SDK miễn phí). Tôi không biết về bất kỳ tùy chọn nào khác ở đây đặc biệt là xem xét việc đồng bộ hóa với yêu cầu âm thanh.

Sử dụng AS3 bạn có thể tải tệp XML mô tả trình chiếu, tải xuống nội dung phù hợp, sử dụng bất kỳ thời điểm nào bạn thích và viết khá nhiều hiệu ứng bạn có thể nghĩ đến.

0

Có, jQuery có thể thực hiện việc này. Đối với âm thanh, hãy sử dụng thẻ âm thanh của HTML5 với dự phòng flash cho Opera & IE.

Khi bạn thay đổi img, bạn có thể thay đổi url âm thanh.

+0

Bạn có thể bẫy sự kiện "đoạn âm thanh đã hoàn thành" không? Đó là phần cuối của tệp âm thanh sẽ kích hoạt quá trình chuyển đổi sang khung tiếp theo chứ không phải theo cách khác. – paxdiablo

+0

Bạn có biết độ dài của clip không? – Matchu

2

Trong khi có thẻ âm thanh sáng và sáng mới này trong html5, một thực sự không thể sử dụng nó cho đến khi hầu hết trình duyệt trình duyệt hỗ trợ nó. Điều này có nghĩa là flash là lựa chọn duy nhất cho phần âm thanh. Mặc dù tôi nghĩ rằng việc sử dụng Flash/Actionscript cho toàn bộ ứng dụng có thể là cách dễ dàng mà bạn cũng có thể sử dụng nhiều công nghệ. Tôi có thể đề xuất Soundmanger làm thư viện javascript rất tiện lợi để điều khiển âm thanh. Nó hoạt động với một bộ phim flash nhỏ thực sự phát clip, nhưng ẩn tất cả các giao diện đằng sau một api tốt đẹp (bao gồm một loạt các sự kiện, quá).

Vì vậy, đây có thể là phụ trợ âm thanh của bạn. Để kiểm soát toàn bộ khung cảnh, tôi thực sự sẽ chọn jQuery, nhưng đó là vấn đề về hương vị. Cách dễ nhất là lấy một tệp JSON (và "eval" hoặc phân tích cú pháp với JSON2 Script) chứa tất cả các URL hình ảnh và âm thanh (hoặc tạo trực tiếp mã js của bạn hoặc thứ gì đó). Nạp bản sao Soundmanager của bạn bằng các clip đã tải xuống, tải trước một số hoặc tất cả các hình ảnh của bạn và sẵn sàng sử dụng.

Khi nói đến hiệu ứng chuyển ảnh, bạn có thể làm rất nhiều với jQuery/JS/HTML, nhưng bạn có thể làm nhiều việc hơn với Flash, dẫn đến đề xuất ban đầu của tôi về sử dụng Flash và ActionScript cho toàn bộ dự án.

Hy vọng điều này sẽ giúp ích một chút, chúc bạn may mắn!

p.s. Here is an example đồng bộ hóa javascript/âm thanh. Trang cố gắng bắt chước một bản ghi âm nhạc (bằng tiếng Đức không may), chờ một bài hát kết thúc;).

0

Có thể là quá mức cần thiết nhưng nếu người chơi phân phối lại là tiêu chí chính bạn có thể thử sử dụng Unity. Trình phát nội dung web là free and freely redistributable.

Các vấn đề liên quan