관련 : 지식인

 

 

오디오가 재생될 때 자막이 일정한 속도로 올라오게 하고 싶은 경우

 

간단히 생각하면,

자막 애니메이션이 위로 올라갈 때 그 재생시간을 오디오의 총 재생시간과 일치하게 하면

일정한 속도로 자막이 올라갈 것입니다. 물론 효과옵션에서 부드럽게시작과 부드럽게 종료를 0초으로 수정해야겠습니다.

어쨋든 이렇게 하면 애니메이션과 오디오 재생을 마치는 시간도 같을 것입니다.

그런데 파워포인트에서는 애니메이션의 최대 재생시간이 59초로 제한이 되어 있습니다.

오디오가 긴 경우 오디오를 1분씩 나누고 텍스트상자도 여러개로 나눠서 만들어야 합니다.

이러면 문제가 복잡해지기 시작합니다.

1. 오디오의 길이에 상관없이 사용할 수 있는 또다른 방법은 오디오 책갈피를 이용하는 방법이 있습니다.

오디오의 특정위치(책갈피)에서 원하는 시간에 맞춰 자막애니메이션이 나타나거나 움직이게 할 수 있습니다.

아래 예시와 사용방법을 참고하세요.

https://kin.naver.com/qna/detail.naver?d1id=1&dirId=102&docId=350654278&qb=64+Z7JiB7IOBIOqwgOyCrA==&enc=utf8§ion=kin.qna&rank=3&search_sort=0&spq=0

실제 작품 사례:

https://cafe.naver.com/gameppt/153218

2. 오디오 책갈피를 넣고 애니메이션을 추가하는 것이 마우스로 하기에는 정교하지 못하고 계속 반복해야하는 번거로운 작업이기 때문에 VBA를 활용하는 방법을 여기에 한 번 차근차근 소개합니다.

2-1. 슬라이드에 오디오를 삽입하고 자동 재생되게 합니다.

도형 이름은 Audio 1 입니다.

2-2. 텍스트 상자를 삽입하고 화면의 아래쪽에 위치하게 합니다.

도형이름은 TextBox 1 입니다.

2-3. 오디오에 오디오 책갈피를 추가합니다.

텍스트 상자의 텍스트가 총 20행이면 20개를 추가합니다.

오디오 길이를 정확히 20등분으로 나누기 힘드므로 아래와 같은 VBA 코드를 이용합니다.

코드: (Alt-F11 창에서 삽입 > 모듈을 추가한 후에 아래 코드를 붙여넣고 F5키나 녹색 재생 버튼으로 실행)

Sub AddBookmark()

    Dim sld As Slide
    Dim shp As Shape
    Dim bmark As MediaBookmark
    Dim cnt As Integer
    Dim aLen As Long
    
    Set sld = ActiveWindow.View.Slide
    
    '오디오
    Set shp = sld.Shapes("Audio 1")
    aLen = shp.MediaFormat.Length

    '텍스트상자의 행수
    'cnt = 20
    cnt = sld.Shapes("TextBox 1").TextFrame.TextRange.Lines.Count
    
    '북마크 일괄 추가
    For i = 1 To cnt
        Set bmark = shp.MediaFormat.MediaBookmarks.Add(aLen / cnt * (i - 1), "Bookmark" & i)
    Next i

End Sub

 

2-4. 텍스트 상자에 위로 이동하는 효과를 추가합니다.

20번 일정한 크기로 위로 이동하는 효과를 마우스로 넣기가 어려우므로 아래와 같이 VBA를 이용합니다.

(VML을 이용한 애니메이션 추가에 대한 것은 링크 1, 2를 참고하세요.)

 

'위로 스크롤 효과를 VML Path형식으로 자동으로 추가하고 오디오북마크 트리거에 의해 효과 시작
Sub addPathAnimationToEachBookmarks()

    Dim pres As Presentation
    Dim sld As Slide
    Dim shp As Shape, shpM As Shape
    Dim eft As Effect
    Dim bhvr As AnimationBehavior
    Dim i As Long, j As Long
    Dim cnt As Integer
    Dim stp As Single
    
    Set sld = ActiveWindow.View.Slide
    Set pres = sld.Parent
    Set shp = sld.Shapes("TextBox 1")
    Set shpM = sld.Shapes("Audio 1")
 
    '기존효과 모두 삭제 - 일반 애니메이션 중 오디오 재생효과는 제외
    For i = sld.TimeLine.MainSequence.Count To 1 Step -1
        If Not sld.TimeLine.MainSequence.Item(i).Shape Is shpM Then _
            sld.TimeLine.MainSequence.Item(i).Delete
    Next i
    For i = sld.TimeLine.InteractiveSequences.Count To 1 Step -1
        For j = sld.TimeLine.InteractiveSequences(i).Count To 1 Step -1
            'If Not sld.TimeLine.InteractiveSequences(i).Item(j).Shape Is shpM Then
                sld.TimeLine.InteractiveSequences(i).Item(j).Delete
        Next j
    Next i
    
    cnt = shp.TextFrame.TextRange.Lines.Count
    
    '단계적으로 텍스트가 올라갈 비율(슬라이드 크기와 1:1 비율)
    stp = 1 / cnt
    stp = stp * (shp.Height / pres.PageSetup.SlideHeight)  '슬라이드 높이 대비 텍스트 상자의 높이
    
    '새로 추가
    For i = 1 To cnt
        
        Set eft = sld.TimeLine.InteractiveSequences.Add.AddTriggerEffect(pShape:=shp, effectId:=msoAnimEffectPathUp, _
            Trigger:=msoAnimTriggerOnMediaBookmark, pTriggerShape:=shpM, bookmark:="Bookmark" & i)
             
        'Set eft = sld.TimeLine.MainSequence.AddEffect(Shape:=shp, effectId:=msoAnimEffectPathUp, _
        '    Trigger:=msoAnimTriggerOnMediaBookmark)
             
             'Trigger:=msoAnimTriggerOnPageClick)
        Set bhvr = eft.Behaviors.Add(msoAnimTypeMotion)
        
        
        With bhvr.MotionEffect
            '현재 단계만큼 위로 이동한 지점에서 상대적으로 위로 stp(0.05등) 만큼 이동(직선)
            .Path = "M 0 -" & stp * (i - 1) & " l -0 -" & stp
        End With
        
    Next i

End Sub

 

위 코드 실행 결과 텍스트상자에 위로 이동 애니메이션 20개가 추가되고 각각의 애니메이션에 오디오 북마크로 트리거가 설정됩니다.

위로 이동 애니메이션에  책갈피 트리거가 걸림.

 

2-5. 캡쳐 영상을 확인하세요.

 

3. 참고로, 파워포인트외에 자막을 삽입하는 가장 확실한 방법은

동영상 편집프로그램으로 자막 작업하시고 동영상으로 저장해서 삽입하는 것일 겁니다.

무료로는 shotcut 같은 프로그램이 있습니다.

유투브 검색해보시면 방법들이 안내되어 있습니다.

예) https://www.youtube.com/watch?v=uQFWHFb3U30

프리미어 프로에서 효율적인 자막 입력 방법은 영상을 재생하면서 적절한 시간대에 멈추고 텍스트 편집 아이콘인 'T' 모양 아이콘을 누르고 영상에 자막위치를 클릭하고 자막텍스트를 입력하고 오른쪽 텍스트 서식창에서 정렬이나 폰트, 색상 등을 설정한 다음 타임라인에서 길이를 수정합니다. 다음 자막부터는 이 자막을 Alt+클릭&드래그해서 복사해서 계속 추가하면 자막 작업을 효율적으로 할 수 있습니다.

 

 

실행 전:

GoogleTTS1.pptm
2.98MB

실행 후:

GoogleTTS2.pptm
2.98MB