Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: WMEncoder Добавлено: 14.03.07 13:03  

Автор вопроса:  KreAtoR
Кто знает в чем проблема.
Привожу пример с WMEncoder SDK

Editing an Encoded File (Visual Basic)
This example shows how you can:

Edit (post-process) an encoded Windows Media file by trimming the first and last 15 seconds.
Use a configuration file to add display information.
Add an index.
A timer is used to display status and progress information, and an events procedure is used to notify you when the edit process has finished.

You need a form, an input file over 30 seconds long (C:\InputFile.wmv), and a configuration file (provided in the following section).

Configuration File Example

The following text is an example of a simple configuration file. Copy and paste this text into a text file and save it as "C:\ConfigFile.txt" for use with the following example:

<?xml version="1.0"?>
<WMBasicEdit >
    <Attributes >
        <WMENC_STRING Name="Title" Value="The Title of this file" />
        <WMENC_STRING Name="Author" Value="The author's name" />
        <WMENC_STRING Name="Copyright" Value="(c) 2002" />
        <WMENC_STRING Name="Description" Value="Description of the file." />
    </Attributes>

    <RemoveAllMarkers />
    <RemoveAllScripts />
    <Scripts >
        <Script Type="URL"
            Command="http://www.microsoft.com"
            Time="0" />
    </Scripts>
</WMBasicEdit>

Example Code

Create a form with two labels (Label1 and Label2), a timer with an interval of 100 (Timer1), and a button (Command1).

' Declare global variables.
  Dim WithEvents BasicEdit As WMEncBasicEdit
  Dim bDone As Boolean
  
Private Sub Form_Load()
  ' Initialize variables.
    Timer1.Enabled = False
    bDone = False
    
  ' Create the WMEncBasicEdit object.
    Set BasicEdit = New WMEncBasicEdit

  ' Specify the input and output files.
    BasicEdit.MediaFile = "C:\InputFile.wmv"
    BasicEdit.OutputFile = "C:\OutputFile.wmv"
  
  ' Specify a configuration file.
    BasicEdit.ConfigFile = "C:\ConfigFile.txt"
  
  ' Add indexing to the file.
    BasicEdit.Index = True

  ' Trim 15 seconds from the beginning and the end of the file.
    BasicEdit.MarkIn = 15000
    BasicEdit.MarkOut = BasicEdit.Duration - 15000
End Sub

' This button starts the editing process, the timer, and an events loop.
Private Sub Command1_Click()
    BasicEdit.Start
    Timer1.Enabled = True
    
    Do Until bDone = True
      DoEvents
    Loop
    
  ' Display a message when the process has finished.
    MsgBox "Done!"
End Sub

' This events procedure checks for the end of the editing process.
Private Sub BasicEdit_OnStateChange(ByVal EnumState As _
WMEncoderLib.WMENC_BASICEDIT_STATE)
    If EnumState = WMENC_BASICEDIT_STOPPED Then bDone = True
End Sub

' This timer is used to display status and progress information
' while the editing process is running.
Private Sub Timer1_Timer()
  ' Display the run state.
    Select Case (BasicEdit.RunState)
      Case 1: Label1.Caption = "Running..."
      Case 2: Label1.Caption = "Stopped"
    End Select

  ' Display the percentage complete.
    Label2.Caption = BasicEdit.ProgressPercent
End Sub

получилось долго но полностью что есть в SDK

теперь о проблеме. В одном окне
Dim WithEvents BasicEdit As WMEncBasicEdit
определяется и создается объект, а вдругом, ну как никрути не создается. Ошибка компиляции при первой строке.
Мол тип не дефенирован и выделяет вот эту строку
Dim WithEvents BasicEdit As WMEncBasicEdit

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

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 14.03.07 14:22
Объяви в модуле

Ответить

Номер ответа: 2
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #2 Добавлено: 14.03.07 15:07
в каком еще модуле???

Ответить

Номер ответа: 3
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #3
Добавлено: 15.03.07 01:06
Похоже объекты WMEncoder должны быть действительно объявлены глобально, в модуле.

А что за модуль?
Например.

Module modVar2
    Public gintValue As Integer

    Public Sub GlobalModuleValue()
        MsgBox( _
         "gintValue = " & gintValue)
    End Sub
End Module
'--------------------------------------------------------------
Public Class Form1
    Inherits System.Windows.Forms.Form

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам