System.Media没有
时间: 2023-10-31 07:57:57 浏览: 35
如果在使用SoundPlayer类时遇到了“未定义类型或命名空间System.Media”的错误,可能是由于缺少对System.dll和System.Windows.Forms.dll的引用所致。
请按照以下步骤添加引用:
1. 在Visual Studio中,右键单击“解决方案资源管理器”窗口中的项目名称,然后点击“添加引用...”。
2. 在弹出的“添加引用”对话框中,找到和选中“System”和“System.Windows.Forms”程序集。
3. 点击“确定”按钮,完成引用的添加。
添加完引用后,就可以在代码中使用SoundPlayer类了。
相关问题
system.windows.media.imaging.bitmapimage system.drawing.bitmap 互转
要将 `System.Windows.Media.Imaging.BitmapImage` 和 `System.Drawing.Bitmap` 互相转换,可以使用以下代码:
```csharp
// 将 BitmapImage 转换为 Bitmap
public static Bitmap BitmapImage2Bitmap(BitmapImage bitmapImage)
{
using (MemoryStream outStream = new MemoryStream())
{
BitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bitmapImage));
encoder.Save(outStream);
Bitmap bitmap = new Bitmap(outStream);
return new Bitmap(bitmap);
}
}
// 将 Bitmap 转换为 BitmapImage
public static BitmapImage Bitmap2BitmapImage(Bitmap bitmap)
{
using (MemoryStream outStream = new MemoryStream())
{
bitmap.Save(outStream, ImageFormat.Bmp);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = new MemoryStream(outStream.ToArray());
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.EndInit();
return bitmapImage;
}
}
```
需要注意的是,这两个类所在的命名空间是不同的,因此要先引入相应的命名空间:
```csharp
using System.Windows.Media.Imaging;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
```
找不到System.Windows.Media
如果您在使用C#编写代码时找不到System.Windows.Media命名空间,则可能是因为您未正确导入所需的程序集。请尝试在代码文件的顶部添加以下using语句:
```
using System.Windows.Media;
```
如果这仍然无法解决您的问题,则可能需要添加对PresentationCore程序集的引用。您可以通过在Visual Studio中右键单击项目并选择“添加引用”来完成此操作。在“添加引用”对话框中,选择“程序集”选项卡,然后在列表中找到PresentationCore并选中它,最后点击“确定”按钮即可添加对PresentationCore程序集的引用。添加引用后,您应该能够使用System.Windows.Media命名空间中的所有类和方法了。