Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Visual Basic .NET - новости, коды, статьи, форум


VBNet.Su - Visual Basic .NET. ASP .NET. Framework .NET.
Воспроизведение mp3 из данных в памяти (15 декабря 2008 г. / 08:32)
Как воспроизвести mp3 из данных в памяти точно так, как и обычные wav-файлы? Знает кто нибудь?

Кратко опишу процесс работы с wave-файлами, добавленными ресурсами в приложение.

Добавляем в каталог проекта файл, например, "sound.png".

Кликаем правой кнопкой мышки по значку проекта к примеру "WindowsApplication1" в "Solution Explorer" ... и добавляем в проект при помощи комманды "Add Existing Item".

А в окне свойств "Properties Window" изменяем свойство "Build Action" этого файла с "Content" на "Embedded Resource".

В vs2005-8 нечто подобное можно проделать при помощи редактора ресурсов.

В vb2002-3 воспроизвести звук встроенного wave-ресурса можно лишь пользуясь WIN32API функцией sndPlaySound

[c]<Flags()> Private Enum PlaySoundFlags
Sync = &H0 ' Синхронное воспроизведение (управление не передается до завершения)
NoDefault = &H2 ' Воспроизведение нестандартного звука
Memory = &H4 ' Воспроизведение звука в памяти
[Loop] = &H8 ' Зацикленное воспроизведение (до следующего вызова функции)
NoStop = &H10 ' Не останавливать звук, если уже воспроизводится
End Enum

' Фукция воспроизведения wave-файлов
Private Declare Auto Function sndPlaySound Lib "winmm.dll" _
(ByVal lpszSoundName As String, ByVal UFlags As Int32) As Int32

Private sound As String ' звук

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim stm As IO.Stream = Me.GetType().Assembly.GetManifestResourceStream(Me.GetType(), "sound.wav")
Dim stmreader As New IO.StreamReader(stm, System.Text.Encoding.Unicode)
sound = stmreader.ReadToEnd()
Call stmreader.Close()
Call sndPlaySound(sound, PlaySoundFlags.NoDefault Or PlaySoundFlags.Sync Or PlaySoundFlags.Memory)
End Sub[/c]

То, что звук в памяти воспроизводится лишь вызовом синхронного воспроизведения можно обойти, воспроизводя звук в отдельном потоке.

В vs2005-2008 звук в памяти можно также воспроизвести при помощи My.Computer.Audio.Play, при этом предусмотрено асинхронное воспроизведение звука в памяти. Однако воспроизводится не строка а байтовый массив.

  1. Private sound() As Byte ' звук
  2.  
  3. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.    Dim stm As IO.Stream = Me.GetType().Assembly.GetManifestResourceStream(Me.GetType(), "sound.wav")
  5.    ReDim sound(stm.Length - 1)
  6.    Call stm.Read(sound, 0, sound.Length)
  7.    Call stm.Close()
  8.    Call My.Computer.Audio.Play(sound, AudioPlayMode.Background)
  9. End Sub


Однако мы ж понимаем прекрасно, - mp3 хоть и не такой качественный звук, зато это экономно.

Может знает кнто нибудь, как вот примерно таким способом воспроизвести mp3.
http://vbnet.su/forum/thread-57.html
RE: Фотки OrElse Аватарки (15 декабря 2008 г. / 08:04)
5acredphoenix пишет:
Вот, как опция — это самое то

тестим! declare
http://vbnet.su/forum/single-56.html
Новости VBNet.Su (15 декабря 2008 г. / 08:02)
Для зарегистрированных пользователей сайта добавлена опция «Отображать фотографии», которая позволяет отображать фотографии/аватарки пользователей в сообщениях форума.
http://vbnet.su/news/#6
Новости VBNet.Su (15 декабря 2008 г. / 07:32)
Добавлена возможность просматривать быстрые ответы, оставленные пользователями за определенный период времени. А также добавлена функция просмотра быстрых ответов, оставленных определенным пользователем (см. профиль пользователя).
http://vbnet.su/news/#5
RE: Drag and Drop (15 декабря 2008 г. / 03:35)
  1. Public Class Form1
  2.   '*******************************************************************
  3.   'Реализация Drag'n'Drop из TreeView в DataGridView
  4.   'http://vbnet.su - Visual Basic .NET. Статьи. Примеры. Форум.
  5.   '*******************************************************************
  6.  
  7.   Dim TreeView1 As New TreeView()
  8.   Dim DataGridView1 As New DataGridView()
  9.  
  10.   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  11.     TreeView1.AllowDrop = True
  12.     TreeView1.Width = 200
  13.     TreeView1.Dock = DockStyle.Left
  14.     TreeView1.Nodes.Add("Ветка 1")
  15.     TreeView1.Nodes.Add("Ветка 2")
  16.     TreeView1.Nodes.Add("Ветка 3")
  17.     AddHandler TreeView1.ItemDrag, AddressOf TreeView1_ItemDrag
  18.     AddHandler TreeView1.DragEnter, AddressOf TreeView1_DragEnter
  19.  
  20.     DataGridView1.AllowDrop = True
  21.     DataGridView1.Dock = DockStyle.Fill
  22.     For i As Integer = 1 To 5
  23.       Dim c As New DataGridViewTextBoxColumn()
  24.       c.HeaderText = "Колонка " & i.ToString()
  25.       c.Width = 100
  26.       DataGridView1.Columns.Add(c)
  27.     Next
  28.     DataGridView1.Rows.Add("Ячейка", "Еще одна", "И еще")
  29.     DataGridView1.Rows.Add("Ячейка", "Еще одна", "И еще")
  30.     DataGridView1.Rows.Add("Ячейка", "Еще одна", "И еще")
  31.     AddHandler DataGridView1.DragDrop, AddressOf DataGridView1_DragDrop
  32.     AddHandler DataGridView1.DragEnter, AddressOf DataGridView1_DragEnter
  33.  
  34.     Me.Controls.Add(DataGridView1)
  35.     Me.Controls.Add(TreeView1)
  36.   End Sub
  37.  
  38.   Private Sub TreeView1_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs)
  39.     Dim sourceNode As TreeNode = CType(e.Item, TreeNode)
  40.     DoDragDrop(e.Item.ToString(), DragDropEffects.Move Or DragDropEffects.Copy)
  41.   End Sub
  42.  
  43.   Private Sub TreeView1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs)
  44.     If (e.Data.GetDataPresent(DataFormats.Text)) Then
  45.       e.Effect = DragDropEffects.Move
  46.     Else
  47.       e.Effect = DragDropEffects.None
  48.     End If
  49.   End Sub
  50.  
  51.   Private Sub DataGridView1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs)
  52.     If e.Data.GetDataPresent(GetType(System.String)) Then
  53.       Dim baluba As String = e.Data.GetData(GetType(System.String))
  54.       DataGridView1.CurrentCell.Value = baluba
  55.     End If
  56.   End Sub
  57.  
  58.   Private Sub DataGridView1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs)
  59.     e.Effect = DragDropEffects.Copy
  60.   End Sub
  61. End Class

http://vbnet.su/forum/single-55.html
RE: Drag and Drop (14 декабря 2008 г. / 12:19)
спасибо огромное но если би Вы мне помогли перетянуть в datagridview. я била би очень благодарна
http://vbnet.su/forum/single-54.html
RE: Домен (14 декабря 2008 г. / 12:11)
Да, не могу нормально по админить из-за этого smiles
Только захожу на сайт, начинаю что-то делать, и бац, облом, перенаправляет на 193.232.159.1.
Если так будет продолжаться, в мире появится еще один сборник русских-матерных слов и выражений. smiles
http://vbnet.su/forum/single-53.html
Как установит регистр знаков при вводе в TextBox? (12 декабря 2008 г. / 16:43)
В TextBox есть свойство CharacterCasing, которое позволяет установить регистр знаков при вводе. Свойство может иметь значения: Lower, Normal (по умолчанию) и Upper.
http://vbnet.su/sources/win-forms/32.html
Как разрешить ввод только цифр в TextBox? (12 декабря 2008 г. / 14:27)
Пример показывает, как можно запретить ввод в текстовое поле любые символы, кроме цифр.
http://vbnet.su/sources/win-forms/31.html
Как заменить последний символ по достижению MaxLength? (12 декабря 2008 г. / 14:22)
Пример показывает, как можно заменить последний символ в TextBox, когда Length (текущее количество символов в поле) доходит до MaxLength (максимальное количество символов). Для проверки работы примера разместите на форме TextBox, установите свойство MaxLength, например 5, вставьте код, и запустите проект. Попробуйте ввести в текстовое поле цифры 12345, а затем 6, цифра 5, будет заменена на 6.
http://vbnet.su/sources/win-forms/30.html
Как запретить выделять текст в TextBox мышкой? (12 декабря 2008 г. / 14:06)
Создайте новый класс MyTextBox, вставьте код указанный ниже. Компилируйте проект, после чего в панели инструментов должен появиться новый контрол – MyTextBox. Разместите его на форме. При попытке выделить текст мышкой, текст выделяться не будет.
http://vbnet.su/sources/win-forms/29.html
Использование класса GZipStream (11 декабря 2008 г. / 07:06)
Простой пример использования класса GZipStream для сжатия и распаковки файла.
http://vbnet.su/sources/default/28.html
Новости VBNet.Su (10 декабря 2008 г. / 18:26)
Уважаемые посетители, домен еще не до конца «прирос», поэтому иногда при обращении к VBNet.Su, можно попасть на другой сайт. Это временное явление, в ближайшие дни обстановка стабилизируется. Приносим своим извинения, за доставленные неудобства.
http://vbnet.su/news/#3
Наследование в VB.Net (07 декабря 2008 г. / 19:37)
Если кто-нибудь уже сталкивался с мелкомягким контролом DataGridView, то наверняка порадовался обилию возможностей, которые он предлагает. Однако, когда дело доходит до реального кодинга, начинаешь хотеть чего-то большего. Мне, к примеру, понадобилось, чтобы внутри таблицы был ComboBox – конечно, он там есть, но мне понадобилось, чтобы в нём можно было ЛИБО печатать, ЛИБО выбирать. Т.е., если в списке не оказалось нужной нам вещицы, то мы могли впечатать её и тем самым дополнить список.
http://vbnet.su/articles/default/7.html
Работа с XML средствами Visual Basic .NET (07 декабря 2008 г. / 19:28)
Статья на тему работы с XML-файлами средствами Visual Basic .NET.
http://vbnet.su/articles/xml/5.html
Использование XML.Serialization (07 декабря 2008 г. / 19:25)
В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.
http://vbnet.su/articles/xml/4.html
Как сделать программку с поддержкой плагинов? (07 декабря 2008 г. / 17:57)
В статье рассказывается, как можно сделать программу с поддержкой плагинов на языке Visual Basic .NET.
http://vbnet.su/articles/default/2.html
Автоматизация поиска SQL Injection (07 декабря 2008 г. / 17:52)
SQL Injection (SQL-вторжение) довольно распространенная уязвимость web-сайтов, которая позволяет злоумышленнику выполнять свой SQL-код путем подстановки его в ожидаемые параметры страницы. Таким образом, злоумышленник может запросто получить доступ к секретным данным, добавить, изменить, либо удалить данные. В данной статье я расскажу и покажу на примерах языков PHP и C#, как написать программку, которая будет автоматически сканировать заданные сайты на предмет наличия в них уязвимости типа SQL Injection. Естественно, все это делается в благих целях. :)
http://vbnet.su/articles/other/1.html

В избранное