本文整理汇总了C++中VideoEntryPtr::start方法的典型用法代码示例。如果您正苦于以下问题:C++ VideoEntryPtr::start方法的具体用法?C++ VideoEntryPtr::start怎么用?C++ VideoEntryPtr::start使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VideoEntryPtr
的用法示例。
在下文中一共展示了VideoEntryPtr::start方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: playMovie
VideoEntryPtr VideoManager::playMovie(uint16 id) {
VideoEntryPtr ptr = open(id);
if (!ptr)
return VideoEntryPtr();
ptr->start();
return ptr;
}
示例2: playMovie
VideoHandle VideoManager::playMovie(const Common::String &fileName) {
VideoEntryPtr ptr = open(fileName);
if (!ptr)
return VideoHandle();
ptr->start();
return ptr;
}
示例3: playMovieBlockingRiven
void VideoManager::playMovieBlockingRiven(uint16 id) {
for (uint16 i = 0; i < _mlstRecords.size(); i++) {
if (_mlstRecords[i].code == id) {
debug(1, "Play tMOV %d (blocking) at (%d, %d), Volume = %d", _mlstRecords[i].movieID, _mlstRecords[i].left, _mlstRecords[i].top, _mlstRecords[i].volume);
VideoEntryPtr ptr = open(_mlstRecords[i].movieID);
ptr->moveTo(_mlstRecords[i].left, _mlstRecords[i].top);
ptr->setVolume(_mlstRecords[i].volume);
ptr->start();
waitUntilMovieEnds(ptr);
return;
}
}
}
示例4: playMovieBlockingCentered
void VideoManager::playMovieBlockingCentered(const Common::String &fileName, bool clearScreen) {
VideoEntryPtr ptr = open(fileName);
if (!ptr)
return;
// Clear screen if requested
if (clearScreen) {
_vm->_system->fillScreen(_vm->_system->getScreenFormat().RGBToColor(0, 0, 0));
_vm->_system->updateScreen();
}
ptr->center();
ptr->start();
waitUntilMovieEnds(ptr);
}
示例5: playMovieRiven
VideoHandle VideoManager::playMovieRiven(uint16 id) {
for (uint16 i = 0; i < _mlstRecords.size(); i++) {
if (_mlstRecords[i].code == id) {
debug(1, "Play tMOV %d (non-blocking) at (%d, %d) %s, Volume = %d", _mlstRecords[i].movieID, _mlstRecords[i].left, _mlstRecords[i].top, _mlstRecords[i].loop != 0 ? "looping" : "non-looping", _mlstRecords[i].volume);
VideoEntryPtr ptr = open(_mlstRecords[i].movieID);
if (ptr) {
ptr->moveTo(_mlstRecords[i].left, _mlstRecords[i].top);
ptr->setLooping(_mlstRecords[i].loop != 0);
ptr->setVolume(_mlstRecords[i].volume);
ptr->start();
}
return ptr;
}
}
return VideoHandle();
}
示例6: playMovie
VideoEntryPtr MystAreaVideo::playMovie() {
// Check if the video is already running
VideoEntryPtr handle = _vm->_video->findVideo(_videoFile);
// If the video is not running, play it
if (!handle) {
handle = _vm->_video->playMovie(_videoFile, Audio::Mixer::kSFXSoundType);
if (!handle)
error("Failed to open '%s'", _videoFile.c_str());
handle->moveTo(_left, _top);
handle->setLooping(_loop != 0);
Common::Rational rate;
if (_playRate != 0) {
rate = Common::Rational(_playRate, 100);
} else {
rate = 1;
}
if (_direction == -1) {
rate = -rate;
handle->seek(handle->getDuration());
}
handle->setRate(rate);
} else {
// Resume the video
handle->pause(false);
handle->start();
}
if (_playBlocking) {
_vm->waitUntilMovieEnds(handle);
return VideoEntryPtr();
}
return handle;
}