Langkah-langkah pengembangan:
1. Unduh FMS http://blogs.ugidotnet.org/kfra/archive/2006/10/04/50003.aspx , instal dan konfigurasikan.
2. Gunakan flash untuk membuat kontrol untuk koleksi video FMS.
3. Halaman aspx menyematkan kontrol pengumpulan FMS, menjalankan pengumpulan data untuk diunggah ke server FMS, dan mengubah alamat penyimpanan file video dari database.
4. Halaman ini menyematkan kontrol pemutaran Flash dan menambahkan kode aliran pemrosesan FLV:
1menggunakan Sistem;
2menggunakan System.IO;
3menggunakan Sistem.Web;
4
5
6/**//// <ringkasan>
7/// Deskripsi ringkasan untuk FLVStreaming
8/// </ringkasan>
9FLVStreaming kelas publik : IHttpHandler
10{
11 byte baca statis pribadi[] _flvheader = HexToByte("464C5601010000000900000009"); //"FLVx1x1 x9 x9"
12
13 Streaming FLV publik()
14 {
15}
16
17 Permintaan Proses kekosongan publik (konteks HttpContext)
18 {
19 mencoba
20 {
21 int pos;
panjang 22 inci;
dua puluh tiga
24 // Periksa parameter awal jika ada
25 string nama file = Path.GetFileName(context.Request.FilePath);
26
27 menggunakan (FileStream fs = new FileStream(context.Server.MapPath(nama file), FileMode.Open, FileAccess.Read, FileShare.Read))
28 {
29 string qs = konteks.Permintaan.Params["mulai"];
30
31 jika (string.IsNullOrEmpty(qs))
32 {
33 pos = 0;
34 panjang = Convert.ToInt32(fs.Length);
35}
36 lainnya
37 {
38 pos = Konversi.ToInt32(qs);
39 panjang = Convert.ToInt32(fs.Length - pos) + _flvheader.Length;
40}
41
42 // Tambahkan hal-hal header HTTP: cache, tipe konten, dan panjangnya
43 konteks.Respon.Cache.SetCacheability(HttpCacheability.Public);
44 konteks.Respon.Cache.SetLastModified(DateTime.Now);
45
46 konteks.Response.AppendHeader("Tipe Konten", "video/x-flv");
47 konteks.Response.AppendHeader("Panjang Konten", panjang.ToString());
48
49 //Tambahkan header FLV saat mengirim sebagian file
50 jika (pos > 0)
51 {
52 konteks.Respon.OutputStream.Write(_flvheader, 0, _flvheader.Length);
53 fs.Posisi = pos;
54 }
55
56 // Membaca buffer dan menulis aliran ke aliran respons
57 const int ukuran buffer = 16384;
58 byte[] buffer = byte baru[ukuran buffer];
59
60 int hitungan = fs.Baca(buffer, 0, ukuran buffer);
61 sementara (hitung > 0)
62 {
63 jika (konteks.Respon.IsClientConnected)
64 {
65 konteks.Respon.OutputStream.Write(buffer, 0, count);
66 hitungan = fs.Read(buffer, 0, buffersize);
67 }
68 lainnya
69 {
70 hitungan = -1;
71 }
72 }
73}
74}
75 tangkapan (Pengecualian ex)
76 {
77 Sistem.Diagnostik.Debug.WriteLine(mis.ToString());
78 }
79 }
80
81 boolIsReusable publik
82 {
83 dapatkan { kembalikan benar; }
84}
85
86 byte statis pribadi[] HexToByte(string hexString)
87 {
88 byte[] returnBytes = byte baru[hexString.Length / 2];
89 untuk (int i = 0; i < returnBytes.Length; i++)
90 returnBytes[i] = Konversi.ToByte(hexString.Substring(i * 2, 2), 16);
91 kembalikan returnBytes;
92 }
93
94}
95 Ubah file konfigurasi dan jalankan halaman untuk memanggil video. Kecepatan pemutarannya sangat bagus. Meskipun meremehkan, ide untuk menggunakan Asp.net untuk mengembangkan situs video telah diberikan. Jika berminat silahkan hubungi saya.
http://www.cnblogs.com/xiucai/archive/2007/06/13/782001.html