获得一个缩略图效果很好,但是要获得一系列的缩略图,则发生了例外。这样的代码:
String taskXml = new StringBuilder(StringUtils.EMPTY)//
.append("<taskBody>")//
.append(" <inputAsset>JobInputAsset(0)</inputAsset>")//
.append(" <outputAsset assetCreationOptions="0" assetName="" + outputAssetName
+ "">JobOutputAsset(0)</outputAsset>")//
.append("</taskBody>").toString();//
String preset = new StringBuilder(StringUtils.EMPTY)//
.append("<Preset xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.0" xmlns="http://www.windowsazure.com/media/encoding/Preset/2014/03">")
.append("<Encoding>")//
.append(" <PngImage Start="{Best}">") // get one thumbnail
// .append(" <PngImage Start="5%" Step="10%" Range="96%">") // get series of thumbnails
.append(" <PngLayers>")//
.append(" <PngLayer>")//
.append(" <Width>100%</Width>")//
.append(" <Height>100%</Height>")//
.append(" </PngLayer>")//
.append(" </PngLayers>")//
.append(" </PngImage>")//
.append("</Encoding>")//
.append("<Outputs>")//
.append(" <Output FileName="{Basename}_{Index}{Extension}">")//
.append(" <PngFormat />")//
.append(" </Output>")//
.append("</Outputs>")//
.append("</Preset>")//
.toString();
Task.CreateBatchOperation task =
Task.create(mediaProcessorInfo.getId(), taskXml).setConfiguration(preset).setName("Thumbnails");
" <PngImage Start="{Best}">
"运行良好," <PngImage Start="5%" Step="10%" Range="96%">
"异常发生("发生了错误。
顺便说一句,我可以获得一系列具有相同图片的缩略图吗?
当我尝试从此处获取代码并编码您提供的代码时,我没有重现您的异常An error has occurred. Stage: ApplyEncodeCommand. Code: 0x00000001.
。
public static void test(AssetInfo assetToEncode) throws ServiceException, InterruptedException {
String preset = new StringBuilder(StringUtils.EMPTY)//
.append("<Preset xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.0" xmlns="http://www.windowsazure.com/media/encoding/Preset/2014/03">")
.append("<Encoding>")//
// .append(" <PngImage Start="{Best}">") // get one thumbnail
.append(" <PngImage Start="5%" Step="10%" Range="96%">") // get series of thumbnails
.append(" <PngLayers>")//
.append(" <PngLayer>")//
.append(" <Width>100%</Width>")//
.append(" <Height>100%</Height>")//
.append(" </PngLayer>")//
.append(" </PngLayers>")//
.append(" </PngImage>")//
.append("</Encoding>")//
.append("<Outputs>")//
.append(" <Output FileName="{Basename}_{Index}{Extension}">")//
.append(" <PngFormat />")//
.append(" </Output>")//
.append("</Outputs>")//
.append("</Preset>")//
.toString();
// Retrieve the list of Media Processors that match the name
ListResult<MediaProcessorInfo> mediaProcessors = mediaService
.list(MediaProcessor.list().set("$filter", String.format("Name eq '%s'", preferedEncoder)));
// Use the latest version of the Media Processor
MediaProcessorInfo mediaProcessor = null;
for (MediaProcessorInfo info : mediaProcessors) {
if (null == mediaProcessor || info.getVersion().compareTo(mediaProcessor.getVersion()) > 0) {
mediaProcessor = info;
}
}
System.out.println("Using Media Processor: " + mediaProcessor.getName() + " " + mediaProcessor.getVersion());
// Create a task with the specified Media Processor
String outputAssetName = String.format("%s as %s", assetToEncode.getName(), preset);
String taskXml = new StringBuilder(StringUtils.EMPTY)//
.append("<taskBody>")//
.append(" <inputAsset>JobInputAsset(0)</inputAsset>")//
.append(" <outputAsset assetCreationOptions="0" assetName="" + outputAssetName
+ "">JobOutputAsset(0)</outputAsset>")//
.append("</taskBody>").toString();//
Task.CreateBatchOperation task = Task.create(mediaProcessor.getId(), taskXml).setConfiguration(preset)
.setName("Thumbnails");
// Create the Job; this automatically schedules and runs it.
Job.Creator jobCreator = Job.create()
.setName(String.format("Encoding %s to %s", assetToEncode.getName(), preset))
.addInputMediaAsset(assetToEncode.getId()).setPriority(2).addTaskCreator(task);
JobInfo job = mediaService.create(jobCreator);
String jobId = job.getId();
System.out.println("Created Job with Id: " + jobId);
// Check to see if the Job has completed
checkJobStatus(jobId);
}
很棒,您已经解决了这个问题。原来是unormal video file
。
感谢您的分享。