已有23人关注
visual bisic开发实战1200例第二卷
发表在VB答疑区 2014-03-21
是否精华
版块置顶:
   visual bisic开发实战1200例第二卷 42页问题实例016
我是你们忠心读者买了贵公司很多图书,上次音频文件不可识别问题已经弄好了,
那是识别WAV文件头产生错误,现在有好多问题弄不懂想请教一下,
  Pic2(picturebox) pic5控件是为单声道和双声道设置的,
为什么里面还有1个picturebox控件还有两个Line1和Line3控件有什么作用呢?
我想用Print语句每运行一个画图过程就打印到picturebox控件里面,
来看一下程序是怎样画波形图的,应该在那里加代码才可以在调试代码中看到画图过程。烦请译教。
请解说一下下面代码和思路
Stereo8:
    Pic2.CurrentX = 0
    Pic2.CurrentY = 0
    Pic2.Print "Left"
    Pic4.CurrentX = 0
    Pic4.CurrentY = 0
    Pic4.Print "Left"
    Pic5.Line (0, yzero)-(xmax, yzero)
    Pic5.Line (0, yzero - ymax * ymult)-(xmax, yzero - ymax * ymult), &HFF&
    Pic5.Line (0, yzero + ymax * ymult)-(xmax, yzero + ymax * ymult), &HFF&
    Pic5.CurrentX = 0
    Pic5.CurrentY = 0
    Pic5.Print "Right"
    Pic7.Line (0, yzero)-(xmax, yzero)
    Pic7.Line (0, yzero - ymax * ymult)-(xmax, yzero - ymax * ymult), &HFF&
    Pic7.Line (0, yzero + ymax * ymult)-(xmax, yzero + ymax * ymult), &HFF&
    Pic7.CurrentX = 0
    Pic7.CurrentY = 0
    Pic7.Print "Right"
    If Nbits = 16 Then GoTo Stereo16
    yPos = Int(yzero + 7 * 128)
    Get #1, InData, yByte   '左声道
    yGraf = yPos - 7 * yByte '15 * yByte
    Pic2.PSet (xzero, yGraf)
    Pic4.PSet (xzero, yGraf)
    Get #1, , yByte '右声道
    yGraf = yPos - 7 * yByte
    Pic5.PSet (xzero, yGraf)
    Pic7.PSet (xzero, yGraf)
    If LenData <= Pic2.ScaleWidth Then
        nMult = Pic2.ScaleWidth / LenData
        For n = 1 To LenData - 1
            xPos = Int(n * nMult)
            Get #1, , yByte '左声道
            yGraf = yPos - 7 * yByte '15 * yByte
            Pic2.Line -(xPos, yGraf)
            Pic4.Line -(xPos, yGraf)
            Get #1, , yByte '右声道
            yGraf = yPos - 7 * yByte
            Pic5.Line -(xPos, yGraf)
            Pic7.Line -(xPos, yGraf)
        Next n
      Else
        For n = 1 To 9999
            ySel = InData + 2 * Int(n * ySelFat)
            Get #1, ySel, yByte '左声道
            yGraf = yPos - 7 * yByte '15 * yByte
            Pic2.Line -(n, yGraf)
            Pic4.Line -(n, yGraf)
            Get #1, , yByte '右声道
            yGraf = yPos - 7 * yByte
            Pic5.Line -(n, yGraf)
            Pic7.Line -(n, yGraf)
        Next n
    End If
    GoTo Done

Stereo16:
    Get #1, InData, yint '左声道
    yGraf = yzero - yint / 35 '17
    Pic2.PSet (xzero, yGraf)
    Pic4.PSet (xzero, yGraf)
    Get #1, , yint '右声道
    yGraf = yzero - yint / 35
    Pic5.PSet (xzero, yGraf)
    Pic7.PSet (xzero, yGraf)
    If LenData <= Pic2.ScaleWidth Then
        nMult = Pic2.ScaleWidth / LenData
        For n = 1 To LenData - 1
            xPos = Int(n * nMult)
            Get #1, , yint '左声道
            yGraf = yzero - yint / 35 '17
            Pic2.Line -(xPos, yGraf)
            Pic4.Line -(xPos, yGraf)
            Get #1, , yint '右声道
            yGraf = yzero - yint / 35
            Pic5.Line -(xPos, yGraf)
            Pic7.Line -(xPos, yGraf)
        Next n
      Else
        For n = 1 To 9999
            ySel = InData + 4 * Int(n * ySelFat)
            Get #1, ySel, yint '左声道
            yGraf = yzero - yint / 35 '17
            Pic2.Line -(n, yGraf)
            Pic4.Line -(n, yGraf)
            Get #1, , yint '右声道
            yGraf = yzero - yint / 35
            Pic5.Line -(n, yGraf)
            Pic7.Line -(n, yGraf)
        Next n
        Print n
       
        
    End If
Done:
End Sub
分享到:
精彩评论 1
淡.印象
学分:323 LV5
TA的每日心情
学习Python
2020-11-23 22:17:24
2015-07-23
沙发
读者您好:

这段代码主要用于画波形图,首先确定坐标,然后画线。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照