久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1337|回復: 0
收起左側

c#播放MP3源程序

[復制鏈接]
ID:484053 發表于 2019-3-4 09:55 | 顯示全部樓層 |閱讀模式
c# 調用winmm.dll 播放mp3
  1. using System;
  2. using System.IO;
  3. using System.Runtime.InteropServices;
  4. using System.Threading;
  5. using System.Windows.Forms;

  6. namespace DMS
  7. {
  8.     // Token: 0x02000016 RID: 22
  9.     public static class MP3Player
  10.     {
  11.         // Token: 0x060000F8 RID: 248 RVA: 0x00027F08 File Offset: 0x00026108
  12.         private static void PlayWait(string file)
  13.         {
  14.             bool flag = !File.Exists(file);
  15.             if (!flag)
  16.             {
  17.                 MP3Player.mciSendString(string.Format("open \"{0}\" type mpegvideo alias media", file), null, 0, 0);
  18.                 MP3Player.mciSendString("play media wait", null, 0, 0);
  19.                 MP3Player.mciSendString("close media", null, 0, 0);
  20.             }
  21.         }

  22.         // Token: 0x060000F9 RID: 249 RVA: 0x00027F58 File Offset: 0x00026158
  23.         private static void PlayRepeat(string file)
  24.         {
  25.             bool flag = !File.Exists(file);
  26.             if (!flag)
  27.             {
  28.                 MP3Player.mciSendString(string.Format("open \"{0}\" type mpegvideo alias media", file), null, 0, 0);
  29.                 MP3Player.mciSendString("play media repeat", null, 0, 0);
  30.             }
  31.         }

  32.         // Token: 0x060000FA RID: 250 RVA: 0x00027F98 File Offset: 0x00026198
  33.         public static void Play(string file, int times)
  34.         {
  35.             bool flag = file.Trim() == "";
  36.             if (!flag)
  37.             {
  38.                 bool flag2 = file.Contains("..\\");
  39.                 if (flag2)
  40.                 {
  41.                     file = Application.StartupPath + file.Substring("..".Length);
  42.                 }
  43.                 DataManageInfo.IsPlaying = 0;
  44.                 bool flag3 = !File.Exists(file);
  45.                 if (!flag3)
  46.                 {
  47.                     DataManageInfo.IsPlaying = 1;
  48.                     MP3Player.thread = new Thread(delegate ()
  49.                     {
  50.                         bool flag4 = times == 0;
  51.                         if (flag4)
  52.                         {
  53.                             MP3Player.PlayRepeat(file);
  54.                         }
  55.                         else
  56.                         {
  57.                             bool flag5 = times > 0;
  58.                             if (flag5)
  59.                             {
  60.                                 int num;
  61.                                 for (int i = 0; i < times; i = num + 1)
  62.                                 {
  63.                                     MP3Player.PlayWait(file);
  64.                                     num = i;
  65.                                 }
  66.                             }
  67.                         }
  68.                         while (DataManageInfo.IsPlaying == 1)
  69.                         {
  70.                             Thread.Sleep(100);
  71.                         }
  72.                         MP3Player.mciSendString("stop media", null, 0, 0);
  73.                         MP3Player.mciSendString("close media", null, 0, 0);
  74.                         DataManageInfo.IsPlaying = 0;
  75.                     });
  76.                     MP3Player.thread.SetApartmentState(ApartmentState.STA);
  77.                     MP3Player.thread.IsBackground = true;
  78.                     MP3Player.thread.Start();
  79.                 }
  80.             }
  81.         }

  82.         // Token: 0x060000FB RID: 251 RVA: 0x0002806C File Offset: 0x0002626C
  83.         public static void Stop()
  84.         {
  85.             bool flag = MP3Player.thread != null;
  86.             if (flag)
  87.             {
  88.                 try
  89.                 {
  90.                     DataManageInfo.IsPlaying = 2;
  91.                     while (DataManageInfo.IsPlaying == 2)
  92.                     {
  93.                         Thread.Sleep(100);
  94.                     }
  95.                     MP3Player.thread.Abort();
  96.                 }
  97.                 catch
  98.                 {
  99.                 }
  100.                 MP3Player.thread = null;
  101.             }
  102.         }

  103.         // Token: 0x060000FC RID: 252
  104.         [DllImport("winmm.dll", CharSet = CharSet.Auto)]
  105.         private static extern int mciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);


  106.         // Token: 0x04000227 RID: 551
  107.         private static Thread thread;
  108.     }
  109. }
復制代碼


MP3Player.rar

1.04 KB, 下載次數: 11, 下載積分: 黑幣 -5

c#播放MP3的類庫

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一二三区高清 | 欧美一区二区免费电影 | 99精品在线观看 | 一区二区在线免费播放 | 欧美精品一区二区免费 | 亚洲精品中文字幕在线 | 免费黄篇 | 色婷婷av久久久久久久 | 久久久久亚洲国产| 中文字幕高清 | 黄色一级大片在线免费看产 | 国产精品日本一区二区在线播放 | 天天综合久久 | 国产69精品久久99不卡免费版 | 国产精品视频播放 | 亚洲成人久久久 | 色先锋影音 | 欧美一级黑人aaaaaaa做受 | 伊人网站视频 | 97伦理电影| 91在线精品播放 | 亚洲成人一区 | 国产色网 | 精品欧美一区二区三区久久久 | 伊人网伊人| 麻豆av免费观看 | 久久精品亚洲欧美日韩久久 | 久久高清| 国产美女h视频 | 亚洲国产一区二区视频 | 免费观看一级毛片 | 亚洲男女视频在线观看 | 欧美在线一区二区三区 | 久久精品一区二区三区四区 | 国产一级一级毛片 | 天天操夜夜骑 | 毛片一区二区 | 高清欧美性猛交xxxx黑人猛交 | 午夜精品久久久久久久久久久久 | 亚洲精品乱码久久久久久按摩观 | 中文字幕亚洲精品 |