代码拉取完成,页面将自动刷新
package sdp
import (
"errors"
"regexp"
"strings"
)
// 媒体名称和传输地址
type MediaInfo struct {
MediaType string // 媒体类型
Port string // 端口或端口列表
Protocol string // 传输协议
Format string // 其他格式,中间可以有空格
}
func parseMediaInfo(str string) (item MediaInfo, err error) {
item = MediaInfo{}
err = item.parse(str)
return
}
// 字符串表达
func (mi MediaInfo) String() string {
arr := []string{
mi.MediaType,
mi.Port,
mi.Protocol,
mi.Format,
}
return strings.Join(arr, seperator)
}
// 解析内容
func (mi *MediaInfo) parse(str string) (err error) {
result := mediaInfoRegExp.FindStringSubmatch(str)
if len(result) != 5 {
err = errors.New("sdp: media info format error")
return
}
mi.MediaType = result[1]
mi.Port = result[2]
mi.Protocol = result[3]
mi.Format = result[4]
return
}
var mediaInfoRegExp = regexp.MustCompile("^([^\\s]+) ([^\\s]+) ([^\\s]+) (.*)$")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。