Không phải từ trình phát flash, vì rất có khả năng sẽ vi phạm mô hình bảo mật của nó. Bạn có thể gọi C++ từ máy ảo Tamarin, ví dụ: mod-actionscript đang hoạt động. Một tùy chọn sẽ là chuyển các cuộc gọi của bạn đến máy chủ AS3, hãy gọi một số hàm C++ ở đó và gửi lại kết quả. Một tùy chọn khác là để biên dịch mã C++ thành AVM2 bằng cách sử dụng alchemy. Nhưng nếu bạn muốn gọi C++ để truy cập các tính năng trên máy khách không có sẵn từ trình phát flash (truy cập hệ thống tệp, UDP hoặc bất kỳ thứ gì), thì không có cách nào.
chỉnh sửa:
Ok, tôi giả sử có các tùy chọn sau:
- có một cái nhìn tại các gói
flash.accessibility
và giải quyết nó với AS3 chỉ
- tạo C++ daemon chạy ở chế độ nền , có thể có giao tiếp hai chiều với đèn flash qua
- ổ cắm cục bộ (bạn kết buộc cổng trong daemon và ứng dụng flash sẽ kết nối với nó) với giao thức tùy chỉnh
- a
LocalConnection
. Điều này có vẻ tốt hơn một chút từ quan điểm AS3, nhưng đòi hỏi một chút hacking trên mặt C++, vì bạn cần phải có được giữ của các kết nối và thực hiện các giao thức (con trỏ here)
- sử dụng một thời gian chạy thay thế: adobe không khí , kẽm, swhx (yêu cầu haXe mặc dù và "backend" là neko, nhưng neko có thể dễ dàng được mở rộng)
tôi thích giải pháp Air 2.0 của bạn, bạn có thể hướng dẫn tôi đến một số mẫu mã đơn giản không? – iceman
@iceman xem tại đây: http://mchristoff.com/2009/12/using-the-air-2-0-nativeprocess-api-to-control-mplayer/ http://www.adobe.com/ devnet/air/flex/quickstart/interacting_with_native_process.html –