⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mediaprogram.cpp

📁 随着计算机信息技术的飞速发展
💻 CPP
字号:
// MediaProgram.cpp : implementation file
//

#include "stdafx.h"
#include "MediaServer.h"
#include "MediaProgram.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMediaProgram dialog


CMediaProgram::CMediaProgram(CWnd* pParent /*=NULL*/)
	: CDialog(CMediaProgram::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMediaProgram)
		// NOTE: the ClassWizard will add member initialization here
	CreateObjects();
	//}}AFX_DATA_INIT
}


void CMediaProgram::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMediaProgram)
	DDX_Control(pDX, IDC_NSADMINCTRL1, mServer);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMediaProgram, CDialog)
	//{{AFX_MSG_MAP(CMediaProgram)
		// NOTE: the ClassWizard will add message map macros here
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMediaProgram message handlers

BOOL CMediaProgram::CreateProgram(LPCSTR mServerName)
{
	// Fill in ASF Source Desc object
  if(mServer.FindProgram(mProgramName)=="")
  {
	ASFSourceMediaDescription.SetChannelName(mStationName);//= strStationName 
    ASFSourceMediaDescription.SetStreamAlias(mStreamAlias);
    ASFSourceMediaDescription.SetStreamSource(mStreamSource);//      = "mms://" & SVRTARGET.Value & "/welcome2.asf"
    ASFSourceMediaDescription.SetStreamArchiveName(mStreamArchiveName);// = ""
    ASFSourceMediaDescription.SetStreamArchiveSize(mStreamArchiveSize);// = 0     ' size in kilobytes
    ASFSourceMediaDescription.SetIgnoreStopFlag(mIgnoreStopFlag)  ;//  = FALSE
    ASFSourceMediaDescription.SetOpenTimeout(mOpenTimeout)      ;// = 0
    ASFSourceMediaDescription.SetStreamTitle(mStreamTitle)      ;// =  L_StreamTitle_Text
    ASFSourceMediaDescription.SetStreamDesc(mStreamDesc)       ;// = L_StreamDesc_Text

   // Fill in Media Desc object container
    MediaDescription.SetMediaName(mStreamTitle);//      = strProgramName
    MediaDescription.SetMediaDesc(mStreamDesc);//      = L_MediaDesc_Text
    MediaDescription.SetMediaPlayer("{b47ccfd2-755d-11d0-bad6-0800365b0e03}");//    = "{b47ccfd2-755d-11d0-bad6-0800365b0e03}"
    MediaDescription.SetMediaDuration(mMediaDuration);//  = 0
    MediaDescription.SetMediaSource(ASFSourceMediaDescription);//    = ASFSourceMediaDescription

    //Add first media desc object to collection
    MediaDescCollection.Remove (MediaDescription);
    MediaDescCollection.Add (MediaDescription);

    // *************************************************************************************
    // Fill in Program/Session description object
    //*************************************************************************************

    Session.SetSessionName(mProgramName);//         = strProgramName
    Session.SetSessionDescription(mProgramName);//  = strProgramName
    Session.SetSessionAuthor(mSessionAuthor);//       = L_Author_Text
    Session.SetSessionCopyright(mSessionCopyright);//    = L_Copyright_Text
    Session.SetMediaDescCollection(MediaDescCollection);// = MediaDescCollection
   
	//add program
	mServer.AddProgram(Session,0);
  } 
  return TRUE;
}

BOOL CMediaProgram::StartProgram(LPCSTR m_ProgramName)
{
 //mServer.FindProgram(m_ProgramName); 
 mServer.StartProgram(mServer.FindProgram(m_ProgramName)); 
 return TRUE; 
}

BOOL CMediaProgram::StopProgram(LPCSTR m_ProgramName)
{
 mServer.StopProgram(mServer.FindProgram(m_ProgramName));
 return TRUE;

}

BOOL CMediaProgram::DeleteProgram(LPCSTR m_ProgramName)
{
 mServer.DeleteProgram(mServer.FindProgram(m_ProgramName)); 
 return TRUE;
}

BOOL CMediaProgram::ConnectToServer(LPCSTR m_ServerName)
{
    if(m_ServerName!=NULL)
	{
      mServer.Connect(m_ServerName); 
	}
	else
	{
	}
	return TRUE;
}

void CMediaProgram::DisConnect()
{
    Session.ReleaseDispatch() ;	

	ASFSourceMediaDescription.ReleaseDispatch(); 
    
	MediaDescription.ReleaseDispatch();
	
	MediaDescCollection.ReleaseDispatch();
    mServer.Disconnect(); 
}

BOOL CMediaProgram::AddStream(LPCSTR m_StationName,LPCSTR m_ProgramName,LPCSTR m_StreamName, LPCSTR m_StreamDesc, LPCSTR m_StreamSource)
{
   /*
	mProg->ConnectToServer("lwcx");
	
    mProg->mStreamArchiveName="";// = ""
    mProg->mStreamArchiveSize=0;// = 0     ' size in kilobytes
    mProg->mIgnoreStopFlag=FALSE  ;//  = FALSE
    mProg->mOpenTimeout=0      ;// = 0
    mProg->mMediaDuration=0;  
	mProg->AddStream("lw","prog4","test2","test2","mms://lwcx/07.mp3"); 	

   */
  	ASFSourceMediaDescription.SetChannelName(m_StationName);//= strStationName 
    ASFSourceMediaDescription.SetStreamAlias(mStreamAlias);
    ASFSourceMediaDescription.SetStreamSource(m_StreamSource);//      = "mms://" & SVRTARGET.Value & "/welcome2.asf"
    ASFSourceMediaDescription.SetStreamArchiveName(mStreamArchiveName);// = ""
    ASFSourceMediaDescription.SetStreamArchiveSize(mStreamArchiveSize);// = 0     ' size in kilobytes
    ASFSourceMediaDescription.SetIgnoreStopFlag(mIgnoreStopFlag)  ;//  = FALSE
    ASFSourceMediaDescription.SetOpenTimeout(mOpenTimeout)      ;// = 0
    ASFSourceMediaDescription.SetStreamTitle(m_StreamName)      ;// =  L_StreamTitle_Text
    ASFSourceMediaDescription.SetStreamDesc(m_StreamDesc)       ;// = L_StreamDesc_Text
    // Fill in Media Desc object container
    MediaDescription.SetMediaName(m_StreamName);//      = strProgramName
    MediaDescription.SetMediaDesc(m_StreamDesc);//      = L_MediaDesc_Text
    MediaDescription.SetMediaPlayer("{b47ccfd2-755d-11d0-bad6-0800365b0e03}");//    = "{b47ccfd2-755d-11d0-bad6-0800365b0e03}"
    MediaDescription.SetMediaDuration(mMediaDuration);//  = 0
    MediaDescription.SetMediaSource(ASFSourceMediaDescription);//    = ASFSourceMediaDescription
    try
	{
  	 mServer.DeleteStream(mServer.FindProgram(m_ProgramName),(CString)m_StreamName);
	}
	catch(...)
	{
	}
	mServer.AddStream(mServer.FindProgram(m_ProgramName),MediaDescription); 
    return TRUE;
}

void CMediaProgram::CreateObjects()
{
    Session.CreateDispatch("NMSA.SessionDescription");	

	ASFSourceMediaDescription.CreateDispatch("NMSA.ASFSourceMediaDescription"); 
    
	MediaDescription.CreateDispatch("NMSA.MediaDescription");
	
	MediaDescCollection.CreateDispatch("NMSA.MediaDescCollection");

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -