Vì đã đề cập đến Aphid, bạn có thể sửa đổi winform content loading sample.
Để có được nó để chấp nhận WMV, bạn cần phải sửa đổi như sau:
Thêm VideoImporters đến các mảng lắp ráp trong ContentBuilder.cs:
static string[] pipelineAssemblies =
{
"Microsoft.Xna.Framework.Content.Pipeline.FBXImporter" + xnaVersion,
"Microsoft.Xna.Framework.Content.Pipeline.XImporter" + xnaVersion,
"Microsoft.Xna.Framework.Content.Pipeline.TextureImporter" + xnaVersion,
"Microsoft.Xna.Framework.Content.Pipeline.EffectImporter" + xnaVersion,
"Microsoft.Xna.Framework.Content.Pipeline.VideoImporters" + xnaVersion
};
Sau đó, trong MainForm.cs thay đổi
contentBuilder.Add(fileName, "Model", null , "ModelProcessor");
to
contentBuilder.Add(fileName, "Video", "WmvImporter" , "VideoProcessor");
Sau đó, bạn sẽ phải phát video bằng phương pháp được mô tả trong Playing a Video on a Surface example
Phương pháp này chỉ hoạt động bằng cách sử dụng phiên bản 3.1 của ví dụ Đang tải nội dung; trong XNA 4 làm như tôi mô tả throws a Pinvoke error. Tôi đã đăng lên các diễn đàn XNA với hy vọng tìm được giải pháp cho vấn đề này.
EDIT: Tôi nhận được câu trả lời sau đây từ một XNA Framework Dev trong tham chiếu đến các ngoại lệ pinvoke:
Bạn có thể yên tâm bỏ qua cảnh báo này. MDA này được bật theo mặc định bởi VS2010 để cho biết các sự cố có thể xảy ra sự cố cho pinvokes không có tuyên bố gọi điện rõ ràng được tuyên bố. Điều này được sử dụng để tắt theo mặc định trước VS2010 vì vậy đó là lý do tại sao bạn không nhìn thấy nó trong 3.1.Chúng tôi đã phát hiện ra điều này một chút quá muộn trong trò chơi GS4 để biến nó đi nhưng thực chất không có vấn đề gì với chức năng này. Bạn chỉ nên nhấn lần này khi bạn đang phát triển/gỡ lỗi bộ xử lý tùy chỉnh của mình. Nó là dễ hiểu gây phiền nhiễu và bạn có thể tắt nó đi bằng cách đi vào Debug-> Ngoại lệ-> Quản lý Gỡ lỗi Assistants-> PInvokeStackImbalance. Chúng tôi sẽ thực hiện việc này cho lần phát hành tiếp theo .
Hey Shachar, tôi đang sử dụng phương pháp sử dụng GameStudio nhưng lại thích một phương pháp đơn giản hơn. Bạn có thể cung cấp thêm một số chi tiết về giải pháp mà bạn đã đến không? Bất kỳ cơ hội bạn có thể chia sẻ mã để tạo ra các xnb cho wmvs? – JohnU
@Shachar Weis rất thích xem bạn đã làm như thế nào, quan tâm chia sẻ? Điều này có thể rất hữu ích! – TimothyP