46553 (Audio recorder on visual basic)

2016-07-28СтудИзба

Описание файла

Документ из архива "Audio recorder on visual basic", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46553"

Текст из документа "46553"

AUTOMATIC SYSTEM

AUDIO RECORDER ON VISUAL BASIC

Dushanbe, 2009

Main Interface

Source Code

Option Explicit

'Copyright: E. de Vries

'e-mail: eeltje@geocities.com

'This code can be used as freeware

Const AppName = "AudioRecorder"

Private Sub cmdSave_Click ()

Dim sName As String

If WaveMidiFileName = "" Then

sName = "Radio_from_" & CStr (WaveRecordingStartTime) & "_to_" & CStr (WaveRecordingStopTime)

sName = Replace (sName, ": ", "-")

sName = Replace (sName, " ", "_")

sName = Replace (sName, "/", "-")

Else

sName = WaveMidiFileName

sName = Replace (sName, "MID", "wav")

End If

CommonDialog1. FileName = sName

CommonDialog1. CancelError = True

On Error GoTo ErrHandler1

CommonDialog1. Filter = "WAV file (*. wav*) |*. wav"

CommonDialog1. Flags = &H2 Or &H400

CommonDialog1. ShowSave

sName = CommonDialog1. FileName

WaveSaveAs (sName)

Exit Sub

ErrHandler1:

End Sub

Private Sub cmdRecord_Click ()

Dim settings As String

Dim Alignment As Integer

Alignment = Channels * Resolution / 8

settings = "set capture alignment " & CStr (Alignment) & " bitspersample " & CStr (Resolution) & " samplespersec " & CStr (Rate) & " channels " & CStr (Channels) & " bytespersec " & CStr (Alignment * Rate)

WaveReset

WaveSet

WaveRecord

WaveRecordingStartTime = Now

cmdStop. Enabled = True 'Enable the STOP BUTTON

cmdPlay. Enabled = False 'Disable the "PLAY" button

cmdSave. Enabled = False 'Disable the "SAVE AS" button

cmdRecord. Enabled = False 'Disable the "RECORD" button

End Sub

Private Sub cmdSettings_Click ()

Dim strWhat As String

' show the user entry form modally

strWhat = MsgBox ("If you continue your data will be lost!", vbOKCancel)

If strWhat = vbCancel Then

Exit Sub

End If

Slider1. Max = 10

Slider1. Value = 0

Slider1. Refresh

cmdRecord. Enabled = True

cmdStop. Enabled = False

cmdPlay. Enabled = False

cmdSave. Enabled = False

WaveReset

Rate = CLng (GetSetting ("AudioRecorder", "StartUp", "Rate", "110025"))

Channels = CInt (GetSetting ("AudioRecorder", "StartUp", "Channels", "1"))

Resolution = CInt (GetSetting ("AudioRecorder", "StartUp", "Resolution", "16"))

WaveFileName = GetSetting ("AudioRecorder", "StartUp", "WaveFileName", "C: \Radio. wav")

WaveAutomaticSave = GetSetting ("AudioRecorder", "StartUp", "WaveAutomaticSave", "True")

WaveRecordingImmediate = True

WaveRecordingReady = False

WaveRecording = False

WavePlaying = False

'Be sure to change the Value property of the appropriate button!!

'if you change the default values!

WaveSet

frmSettings. optRecordImmediate. Value = True

frmSettings. Show vbModal

End Sub

Private Sub cmdStop_Click ()

WaveStop

cmdSave. Enabled = True 'Enable the "SAVE AS" button

cmdPlay. Enabled = True 'Enable the "PLAY" button

cmdStop. Enabled = False 'Disable the "STOP" button

If WavePosition = 0 Then

Slider1. Max = 10

Else

If WaveRecordingImmediate And (Not WavePlaying) Then Slider1. Max = WavePosition

If (Not WaveRecordingImmediate) And WaveRecording Then Slider1. Max = WavePosition

End If

If WaveRecording Then WaveRecordingReady = True

WaveRecordingStopTime = Now

WaveRecording = False

WavePlaying = False

frmSettings. optRecordProgrammed. Value = False

frmSettings. optRecordImmediate. Value = True

frmSettings. lblTimes. Visible = False

End Sub

Private Sub cmdPlay_Click ()

WavePlayFrom (Slider1. Value)

WavePlaying = True

cmdStop. Enabled = True

cmdPlay. Enabled = False

End Sub

Private Sub cmdWeb_Click ()

Dim ret&

ret& = ShellExecute (Me. hwnd, "Open", "http://home. wxs. nl/~eeltjevr/", "", App. Path,

1)

End Sub

Private Sub cmdReset_Click ()

Slider1. Max = 10

Slider1. Value = 0

Slider1. Refresh

cmdRecord. Enabled = True

cmdStop. Enabled = False

cmdPlay. Enabled = False

cmdSave. Enabled = False

WaveReset

Rate = CLng (GetSetting ("AudioRecorder", "StartUp", "Rate", "110025"))

Channels = CInt (GetSetting ("AudioRecorder", "StartUp", "Channels", "1"))

Resolution = CInt (GetSetting ("AudioRecorder", "StartUp", "Resolution", "16"))

WaveFileName = GetSetting ("AudioRecorder", "StartUp", "WaveFileName", "C: \Radio. wav")

WaveAutomaticSave = GetSetting ("AudioRecorder", "StartUp", "WaveAutomaticSave", "True")

WaveRecordingImmediate = True

WaveRecordingReady = False

WaveRecording = False

WavePlaying = False

WaveMidiFileName = ""

'Be sure to change the Value property of the appropriate button!!

'if you change the default values!

WaveSet

If WaveRenameNecessary Then

Name WaveShortFileName As WaveLongFileName

WaveRenameNecessary = False

WaveShortFileName = ""

End If

End Sub

Private Sub Form_Load ()

WaveReset

Rate = CLng (GetSetting ("AudioRecorder", "StartUp", "Rate", "110025"))

Channels = CInt (GetSetting ("AudioRecorder", "StartUp", "Channels", "1"))

Resolution = CInt (GetSetting ("AudioRecorder", "StartUp", "Resolution", "16"))

WaveFileName = GetSetting ("AudioRecorder", "StartUp", "WaveFileName", "C: \Radio. wav")

WaveAutomaticSave = GetSetting ("AudioRecorder", "StartUp", "WaveAutomaticSave", "True")

WaveRecordingImmediate = True

WaveRecordingReady = False

WaveRecording = False

WavePlaying = False

'Be sure to change the Value property of the appropriate button!!

'if you change the default values!

WaveSet

WaveRecordingStartTime = Now + TimeSerial (0, 15, 0)

WaveRecordingStopTime = WaveRecordingStartTime + TimeSerial (0, 15, 0)

WaveMidiFileName = ""

WaveRenameNecessary = False

End Sub

Private Sub Form_Unload (Cancel As Integer)

WaveClose

Call SaveSetting ("AudioRecorder", "StartUp", "Rate", CStr (Rate))

Call SaveSetting ("AudioRecorder", "StartUp", "Channels", CStr (Channels))

Call SaveSetting ("AudioRecorder", "StartUp", "Resolution", CStr (Resolution))

Call SaveSetting ("AudioRecorder", "StartUp", "WaveFileName", WaveFileName)

Call SaveSetting ("AudioRecorder", "StartUp", "WaveAutomaticSave", CStr (WaveAutomaticSave))

If WaveRenameNecessary Then

Name WaveShortFileName As WaveLongFileName

WaveRenameNecessary = False

WaveShortFileName = ""

End If

End

End Sub

Private Sub Timer2_Timer ()

Dim RecordingTimes As String

Dim msg As String

RecordingTimes = "Start time: " & WaveRecordingStartTime & vbCrLf _

& "Stop time: " & WaveRecordingStopTime

WaveStatistics

If Not WaveRecordingImmediate Then

WaveStatisticsMsg = WaveStatisticsMsg & "Programmed recording"

If WaveAutomaticSave Then

WaveStatisticsMsg = WaveStatisticsMsg & " (automatic save)"

Else

WaveStatisticsMsg = WaveStatisticsMsg & " (manual save)"

End If

WaveStatisticsMsg = WaveStatisticsMsg & vbCrLf & vbCrLf & RecordingTimes

End If

StatisticsLabel. Caption = WaveStatisticsMsg

WaveStatus

If WaveStatusMsg <> AudioRecorder. Caption Then AudioRecorder. Caption = WaveStatusMsg

If InStr (AudioRecorder. Caption, "stopped") > 0 Then

cmdStop. Enabled = False

cmdPlay. Enabled = True

End If

If RecordingTimes <> frmSettings. lblTimes. Caption Then frmSettings. lblTimes. Caption = RecordingTimes

If (Now > WaveRecordingStartTime) _

And (Not WaveRecordingReady) _

And (Not WaveRecordingImmediate) _

And (Not WaveRecording) Then

WaveReset

WaveSet

WaveRecord

WaveRecording = True

cmdStop. Enabled = True 'Enable the STOP BUTTON

cmdPlay. Enabled = False 'Disable the "PLAY" button

cmdSave. Enabled = False 'Disable the "SAVE AS" button

cmdRecord. Enabled = False 'Disable the "RECORD" button

End If

If (Now > WaveRecordingStopTime) And (Not WaveRecordingReady) And (Not WaveRecordingImmediate) Then

WaveStop

cmdSave. Enabled = True 'Enable the "SAVE AS" button

cmdPlay. Enabled = True 'Enable the "PLAY" button

cmdStop. Enabled = False 'Disable the "STOP" button

If WavePosition > 0 Then

Slider1. Max = WavePosition

Else

Slider1. Max = 10

End If

WaveRecording = False

WaveRecordingReady = True

If WaveAutomaticSave Then

WaveFileName = "Radio_from_" & CStr (WaveRecordingStartTime) & "_to_" & CStr (WaveRecordingStopTime)

WaveFileName = Replace (WaveFileName, ": ", ". ")

WaveFileName = Replace (WaveFileName, " ", "_")

WaveFileName = WaveFileName & ". wav"

WaveSaveAs (WaveFileName)

msg = "Recording has been saved" & vbCrLf

msg = msg & "Filename: " & WaveFileName

MsgBox (msg)

Else

msg = "Recording is ready" & vbCrLf

msg = msg & "Don't forget to save recording..."

MsgBox (msg)

End If

frmSettings. optRecordProgrammed. Value = False

frmSettings. optRecordImmediate. Value = True

End If

End Sub

Option Explicit

Private Sub cmdFileName_Click ()

WaveFileName = InputBox ("Filename: ", "Filename for automatic saving", WaveFileName)

End Sub

Private Sub cmdMidi_Click ()

CommonDialog2. CancelError = True

On Error GoTo ErrHandler1

CommonDialog2. Filter = "Midi file (*. mid*) |*. mid"

CommonDialog2. Flags = &H2 Or &H400

CommonDialog2. ShowOpen

WaveMidiFileName = CommonDialog2. FileName

WaveMidiFileName = GetShortName (WaveMidiFileName)

ErrHandler1:

End Sub

Private Sub cmdOke_Click ()

Unload Me

End Sub

Private Sub cmdStartTime_Click ()

Dim wrst As String

wrst = WaveRecordingStartTime

wrst = InputBox ("Enter start time recording", "Start time", wrst)

If wrst = "" Then Exit Sub

If Not IsDate (wrst) Then

MsgBox ("The date/time you entered was not valid!")

Else

' String returned from InputBox is a valid time,

' so store it as a date/time value in WaveRecordingStartTime.

If CDate (wrst) < Now Then

MsgBox ("Recording events in the past is not possible... ")

WaveRecordingStartTime = Now + TimeSerial (0, 15, 0)

Else

WaveRecordingStartTime = CDate (wrst)

End If

If WaveRecordingStopTime < WaveRecordingStartTime Then WaveRecordingStopTime = WaveRecordingStartTime + TimeSerial (0, 15, 0)

End If

End Sub

Private Sub cmdStopTime_Click ()

Dim wrst As String

wrst = WaveRecordingStopTime

If wrst < WaveRecordingStartTime Then wrst = WaveRecordingStartTime + TimeSerial (0, 15, 0)

wrst = InputBox ("Enter stop time recording", "Stop time", wrst)

If wrst = "" Then Exit Sub

If Not IsDate (wrst) Then

MsgBox ("The time you entered was not valid!")

Else

' String returned from InputBox is a valid time,

' so store it as a date/time value in WaveRecordingStartTime.

If CDate (wrst) < WaveRecordingStartTime Then

MsgBox ("The stop time has to be later then the start time!")

WaveRecordingStopTime = WaveRecordingStartTime + TimeSerial (0, 5, 0)

Else

WaveRecordingStopTime = CDate (wrst)

End If

End If

End Sub

Private Sub Form_Load ()

Select Case Rate

Case 44100

optRate44100. Value = True

Case 22050

optRate22050. Value = True

Case 11025

optRate11025. Value = True

Case 8000

optRate8000. Value = True

Case 6000

optRate6000. Value = True

End Select

Select Case Channels

Case 1

optMono. Value = True

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее